Thiết kế Hệ sinh thái Thương mại điện tử 21...

Việc mở rộng quy mô (scale) một nền tảng thương mại điện tử vượt qua cột mốc 10.000+ đơn hàng mỗi ngày, với mỗi đơn chứa nhiều SKU trải dài qua nhiều kho hàng biến động là lúc mà các kiến trúc ngây thơ sẽ sụp đổ. Việc đập thêm tiền nâng cấp phần cứng không còn là viên đạn bạc khi hệ thống phải đối mặt với các giao dịch phân tán (distributed transactions), điều kiện tương tranh (race conditions), và tính nhất quán cuối (eventual consistency). ...

April 12, 2026 · 7 min · Tuan Anh

Làm chủ Kiến trúc Hướng sự kiện (Event-Driven) với Dapr...

Trong bài viết trước, chúng ta đã khám phá cách việc từ bỏ kiến trúc nguyên khối (monolithic) để ưu tiên các ranh giới ngữ cảnh nghiêm ngặt của Thiết kế Hướng Domain (Domain-Driven Design - DDD) đã giúp một nền tảng thương mại điện tử có thể scale vượt mức 10.000+ đơn hàng mỗi ngày. Tuy nhiên, việc băm nát một database khổng lồ thành 20+ database Postgres hoàn toàn cách ly lại đẻ ra một vấn đề mới cực kỳ đáng sợ: Làm thế nào để chúng ta duy trì tính nhất quán dữ liệu giữa các service đã bị cắt đứt kết nối với nhau? ...

April 12, 2026 · 5 min · Tuan Anh

Bóc tách Hệ sinh thái: Chi tiết Service theo từng Domain

“Tại sao lại cần tới 21 services? Như thế chẳng phải là overkill (giết gà dùng đao mổ trâu) sao?” Đây là câu hỏi phổ biến nhất mà tôi nhận được khi thảo luận về kiến trúc microservice viết bằng Golang mà chúng tôi đã xây dựng để xử lý khối lượng scale khổng lồ. Câu trả lời ngắn gọn là: Không, bởi vì Định luật Conway là có thật. ...

April 12, 2026 · 6 min · Tuan Anh

Điều phối 21 Microservices với Kubernetes & ArgoCD

Viết ra được 21 microservices bằng Go với kiến trúc chuẩn mực mới chỉ là một nửa cuộc chiến. Nếu quy trình deploy (triển khai) của bạn vẫn phụ thuộc vào một kỹ sư gõ lệnh kubectl apply từ laptop cá nhân của anh ta vào một chiều thứ Sáu, bạn chưa hề xây dựng một nền tảng enterprise — bạn vừa chế tạo ra một quả bom nổ chậm. ...

April 12, 2026 · 9 min · Tuan Anh

Làm phẳng Mô hình EAV bằng SQL và Node.js

Khi dọn nhà rời khỏi Magento 2, chướng ngại vật đầu tiên luôn luôn là cái database schema. Magento đéo thèm lưu dữ liệu thành các hàng phẳng phiu sạch sẽ — nó xài một mô hình gọi là Entity-Attribute-Value (EAV), băm vằm dữ liệu rải rác ra hàng chục cái bảng khác nhau kèm theo tính năng kế thừa theo cấp độ store (store-scope inheritance). Việc hiểu được mớ bòng bong này trước khi cắm đầu vào viết SQL sẽ cứu rỗi bạn vài ngày thanh xuân. ...

March 9, 2024 · 10 min · Tuan Anh