Phần 3: Golang + Kratos v2 — Đi sâu vào Framework Microservice

Đối với các kỹ sư chuyển từ Magento PHP sang, việc chuyển dịch sang Go microservices không chỉ đơn thuần là đổi ngôn ngữ lập trình — mà nó là một cách thức tổ chức code khác biệt về mặt bản chất. Magento có controller, model, block, helper, và plugin. Còn Go với Kratos v2 sở hữu chính xác 5 lớp (layer), mỗi lớp mang một trách nhiệm được định nghĩa rạch ròi. ...

22 tháng 4, 2026 · 15 phút · Lê Tuấn Anh

Phần 10: Dạo Quanh ADR — Giải Ngố 24 Quyết Định Kiến Trúc

21 services. 24 quyết định. 3.5 tháng trời cân lên đặt xuống được ghi chép cẩn thận vào các bản Ghi nhận Quyết định Kiến trúc (Architecture Decision Records - ADR). ADR là một tài liệu ngắn gọn gọn gàng trả lời rạch ròi câu hỏi: “Tại sao chúng ta lại cắm đầu chọn phương án X trong khi hai thằng Y và Z cũng ngon lành không kém?” Nếu không có ADR, mọi tri thức kiến trúc (architectural knowledge) sẽ chỉ tồn tại mỏng manh trong đầu các kỹ sư. Lỡ ngày đẹp trời nào đó họ nộp đơn nghỉ việc, mớ tri thức đó cũng đội nón ra đi — và thế là team mới vào tiếp quản sẽ lại cặm cụi đập đi xây lại cái component y chang cái cách mà đội ngũ cũ đã từng hăm hở thử nghiệm rồi vứt sọt rác (tried and rejected). ...

10 tháng 6, 2026 · 21 phút · Lê Tuấn Anh

Phần 4: Tích Hợp API Golang & Microservices (Kratos & Dapr)

Dựng một cái API cùi bắp để réo gọi Graphhopper qua lệnh http.Get thì dễ ợt. Nhưng để rèn ra một cái API Gateway đẳng cấp Principal dư sức gánh còng lưng 10,000 cuốc xe nã request cùng lúc mà không đột tử, đó đích thực là một khóa masterclass về Hệ thống Phân tán (Distributed Systems). Answer-first: Graphhopper là một con service tuyến dưới (downstream service) lệ thuộc cực nặng vào CPU. Nếu cái API Golang của bạn cứ nhắm mắt hứng đạn (traffic) rồi ném tuốt luốt thẳng xuống dưới, chỉ cần Graphhopper hắt hơi sổ mũi chạy chậm lại một nhịp thôi là bầy Goroutines sẽ dồn ứ lại thành một cục máu đông, vắt kiệt sạch RAM của server và kích hoạt một cú sập dây chuyền (cascading failure). Bạn buộc phải dựng lên một phòng tuyến “Bảo Vệ Đa Lớp” (Defense in Depth) xài tới chiêu Giới hạn Đồng thời (Concurrency Bounding), Cầu dao điện (Circuit Breakers), và trò Bắn tin Bất đồng bộ (Asynchronous Pub/Sub). ...

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

Tech Radar, 14/04/2026: An Toàn Hơn Khi Tiến Hóa Code, Khôi Phục Runtime Và Gia Cố Framework

🇬🇧 Read the English version of this article on tanhdev.com Các chủ đề được lựa chọn trong luồng pipeline số 6 vẽ nên một bức tranh vô cùng mạch lạc về hướng đi của Kỹ thuật Nền tảng (Platform engineering) ở độ tuổi trưởng thành. Sau khi trích xuất và đào sâu vào các tài liệu gốc, một thông điệp chung đã xuất hiện: Những hệ thống mạnh mẽ không chỉ được định nghĩa bởi việc chúng có thể làm được gì, mà còn bởi việc chúng tiến hóa (evolve) an toàn ra sao, chúng khôi phục (recover) dễ đoán đến nhường nào, và chúng gọt bỏ được bao nhiêu “độ phức tạp vô bổ” (accidental complexity) cho các team xây dựng ứng dụng bên trên chúng. ...

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

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

🇬🇧 Read the English version of this article on tanhdev.com 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). ...

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