Phần 6: Giai đoạn 1 — Strangler Fig: Di dời Chỉ-đọc (Read-Only) + CDC

Giai đoạn 1 (Phase 1) là giai đoạn an toàn nhất trong toàn bộ cuộc di dời — đó là chủ ý thiết kế (by design). Sẽ không có bất kỳ thao tác ghi (write) dữ liệu nào chạm tới hệ thống microservice mới. Magento vẫn là nguồn sự thật duy nhất (source of truth) cho mọi sửa đổi dữ liệu. Việc duy nhất mà Giai đoạn 1 làm, đó là chứng minh rằng đống microservice của bạn có thể phục vụ các thao tác đọc (read) với tốc độ nhanh hơn và độ ổn định cao hơn Magento. ...

13 tháng 5, 2026 · 15 phút · Lê Tuấn Anh
Quyết định cơ sở dữ liệu khi chuyển đổi Magento: Shared DB vs CDC vs Event Bus — So sánh Kiến trúc

Shared DB, CDC hay Event Bus? Quyết định Cơ sở dữ liệu khi Chuyển đổi Magento

🇬🇧 Read the English version of this article on tanhdev.com Answer-first: Khi chuyển đổi từ Magento sang Golang, bạn có ba chiến lược cơ sở dữ liệu (database): (A) Dùng chung DB (Shared DB) để tối ưu compute ngay lập tức, (B) CDC + Outbox để tách DB dần dần mà không cần đụng vào code PHP, hoặc (C) Tách biệt hoàn toàn bằng Event Bus. Phương án A là một trạng thái chuyển giao tuyệt vời nhưng lại là một trạng thái cuối cùng thảm họa. Phương án B là con đường được khuyến nghị trong ngành công nghiệp cho hầu hết các hệ thống Magento — nó cho phép Go làm chủ schema của riêng mình và làm phẳng cấu trúc EAV mà không yêu cầu PHP Magento phải phát ra dù chỉ một sự kiện nào. Phương án C chỉ khả thi khi đội ngũ Magento của bạn có thể xây dựng và duy trì một hệ thống phát hành sự kiện (event publisher) đáng tin cậy. ...

18 tháng 7, 2026 · 17 phút · Lê Tuấn Anh

Kiến trúc Ecommerce 2026: Vượt Qua Nợ Kỹ Thuật Khi Chuyển Đổi Sang Composable Commerce

🇬🇧 Read the English version of this article on tanhdev.com Kiến trúc Ecommerce 2026: Vượt Qua Nợ Kỹ Thuật Khi Chuyển Đổi Sang Composable Commerce Trên lý thuyết, MACH (Microservices, API-first, Cloud-native, Headless) và Composable Commerce là “chén thánh” của ngành thương mại điện tử. Tuy nhiên, khi hệ thống đạt mốc xử lý hàng triệu giao dịch, những vấn đề về tính nhất quán dữ liệu và chi phí quan sát hệ thống (Observability) mới thực sự lộ diện. Bài viết này đúc kết kinh nghiệm xương máu từ đội ngũ kiến trúc sư trưởng (Chief Architect) khi đưa hệ thống từ Monolith lên Composable. ...

6 tháng 7, 2026 · 4 phút · Technical Architect Team

Lưới Saga (Saga Pattern) Trong Go — Dàn Nhạc Temporal, Trò Hũ Trữ (Outbox) & Máng CDC Debezium

Điều kiện tiên quyết: Đây là Phần 8 của Khóa Học System Design. Lục lọi lại Phần 7: Chế Đồ API Cản Đúp trước đi — mớ đòn giao dịch chuộc lỗi (compensating transactions) trong lò Saga bắt buộc phải đính kèm bùa cản đúp (idempotent). Answer-first: Khung rập Saga Pattern cầm trịch giàn xếp mớ bòng bong giao dịch lộn xộn (distributed transactions) vắt ngang dọc bầy microservices bằng ngón đòn băm nát một cục giao dịch chà bá thành một lốc giao dịch lẻ tẻ (local transactions). Lỡ xui một nháy đứt gánh (fails), nguyên hệ thống tự động bóp cò nhả đạn giao dịch chuộc lỗi (compensating transactions) dội ngược theo chiều tua lùi (reverse order) đặng dọn sạch rác (undo) mấy khâu nãy giờ đã dọn mâm xong. Mỗi cục giao dịch cỏn con bắt buộc phải biết cản đúp (idempotent). ...

18 tháng 6, 2026 · 14 phút · Tanh

Đồng Bộ Tồn Kho Thời Gian Thực: Kafka, CDC & Redis cho E-commerce

🇬🇧 Read the English version of this article on tanhdev.com Đồng Bộ Tồn Kho Thời Gian Thực Là Gì? Answer-first: Đồng bộ tồn kho thời gian thực (Real-time inventory synchronization) là quá trình lan truyền các thay đổi về số lượng hàng trong kho từ hệ thống gốc (database) tới tất cả các kênh bán hàng — web storefront, ứng dụng mobile, WMS, ERP — với độ trễ chưa tới một giây (sub-second). Thay vì phải phụ thuộc vào các tác vụ batch ETL chạy mỗi giờ, một pipeline CDC + Kafka sẽ stream mọi thay đổi tồn kho được commit thành một sự kiện (event), qua đó loại bỏ hoàn toàn tình trạng bán vượt mức (overselling) cũng như tránh hiển thị sai số lượng hàng hóa. ...

8 tháng 6, 2026 · 15 phút · Tuan Anh

Di chuyển từ Magento sang Microservices

🇬🇧 Read the English version of this article on tanhdev.com “Hãy đập đi viết lại toàn bộ bằng Microservices.” Câu nói này thường là điềm báo cho những dự án kỹ thuật thất bại trị giá hàng triệu đô la. Khi một ứng dụng di sản (legacy) như một hệ thống thương mại điện tử Magento khổng lồ đang gánh vác toàn bộ doanh thu tài chính của một công ty, việc thực hiện một cú chuyển đổi kiểu “Big Bang” (cắt cái rụp sang hệ thống mới) thực tế là một hành động tự sát. ...

14 tháng 4, 2026 · 7 phút · Tuan Anh