Kiến trúc Microservices Ngân hàng với Go: Mẫu Saga, event sourcing, và sổ cái phân tán

Kiến trúc Microservices Ngân hàng: Go, Saga & Event Sourcing

Answer-first: Kiến trúc Banking Microservices với Golang áp dụng Sổ cái kép (Double-Entry Ledger), Event Sourcing và Orchestrated Saga Pattern qua Dapr/Temporal. Đảm bảo toàn vẹn giao dịch tài chính ACID ở cấp độ nghiệp vụ, cách ly tài khoản nguồn-đích và xử lý bù trừ tự động khi phát sinh sự cố mạng. 🇬🇧 Read the English version of this article on tanhdev.com 1. Giới thiệu: Phá vỡ Core Banking truyền thống Trả lời nhanh: Một kiến trúc microservices ngân hàng hiện đại sẽ thay thế các sổ cái nguyên khối cũ (như T24 hoặc Flexcube) bằng cách sử dụng Go để định tuyến giao dịch với thông lượng cao. Hệ thống đạt được tính nhất quán phân tán mà không cần dùng two-phase commit (2PC) bằng cách kết hợp Event Sourcing (luồng sự kiện bất biến của sổ cái), Điều phối Saga (dùng Temporal hoặc Dapr), mẫu Transactional Outbox và ràng buộc unique của PostgreSQL để đảm bảo API luôn idempotent. ...

1 tháng 6, 2026 · 18 phút · Lê Tuấn Anh
Hướng Dẫn Dapr Workflow Go: Orchestrated Saga Pattern

Hướng Dẫn Dapr Workflow Go: Orchestrated Saga Pattern

Answer-first: Dapr Workflow cung cấp mô hình Orchestrated Saga bền vững (Durable Execution) cho các microservices Golang. Bằng cách tập trung hóa máy trạng thái, tự động bù trừ khi xảy ra sự cố và loại bỏ phụ thuộc vào Two-Phase Commit (2PC), giải pháp duy trì tính nhất quán cuối cùng cho giao dịch tài chính đa bước. 🇬🇧 Read the English version of this article on tanhdev.com Hầu hết các lập trình viên Go xây dựng microservices đều biết đến mẫu Choreography Saga: service A phát ra (emit) một sự kiện, service B phản ứng, service C phản ứng với B, và cứ tiếp tục như vậy. Nếu bước C thất bại, các services sẽ phát ra các sự kiện “bù trừ” (compensation) theo thứ tự ngược lại. Mẫu này hoạt động một cách mượt mà đối với các luồng đơn giản, nhưng lại phá vỡ tính hiệu quả khi số lượng bước tăng lên: việc debug một saga thất bại đòi hỏi phải lần theo dấu vết (tracing) các sự kiện qua năm topic của message broker, và việc triển khai logic bù trừ đòi hỏi mỗi service phải hiểu toàn bộ trạng thái của saga. ...

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