Orchestrated Saga Pattern với Temporal: Thiết Kế Giao Dịch Phân Tán Bền Bỉ Trong Go

🇬🇧 Read the English version of this article on tanhdev.com Nỗi Đau của Giao Dịch Phân Tán trong Hệ Thống Core Banking Trong kiến trúc Monolith nguyên khối truyền thống, việc đảm bảo tính ACID (Atomicity, Consistency, Isolation, Durability) của một giao dịch tài chính cực kỳ đơn giản. Bạn chỉ cần mở một Database Transaction, thực thi hàng loạt câu lệnh SQL (trừ tiền tài khoản A, cộng tiền tài khoản B, ghi log kiểm toán), và cuối cùng gọi COMMIT. Nếu có bất kỳ lỗi gì xảy ra giữa chừng, bạn gọi ROLLBACK, và database engine sẽ tự động hoàn tác mọi thứ về trạng thái nguyên sơ ban đầu một cách hoàn hảo. ...

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

Kiến trúc Composable Banking: Từ Monolith đến Modular Core

🇬🇧 Read the English version of this article on tanhdev.com Answer-first: Cách các ngân hàng thay thế core banking nguyên khối (Temenos, Finacle) bằng kiến trúc composable banking (ngân hàng cấu thành) thông qua việc sử dụng Go microservices, điều phối Saga (Saga orchestration), NewSQL ledgers và mô hình Strangler Fig. Các hệ thống core banking cũ (legacy) được thiết kế trong một thời đại khác. Temenos T24, Finacle và Flexcube đều chia sẻ một giả định chung mang tính quyết định: toàn bộ danh mục sản phẩm của ngân hàng — tiền gửi (deposits), cho vay (lending), thanh toán (payments), tài trợ thương mại (trade finance) — sẽ nằm bên trong một ứng dụng được liên kết chặt chẽ (tightly coupled) duy nhất và một database dùng chung duy nhất. Giả định đó có thể đúng khi ngành ngân hàng di chuyển với tốc độ của con người. Nhưng nó hoàn toàn sụp đổ khi các chu kỳ release (phát hành sản phẩm) cần phải rút ngắn từ vài tháng xuống vài ngày, khi việc cập nhật một engine chống gian lận (fraud engine) không được phép gây rủi ro ngừng hoạt động (outage) cho hệ thống thanh toán, và khi các kỹ sư đang làm việc trên nền codebase COBOL nghỉ hưu nhanh hơn tốc độ họ có thể được thay thế. ...

10 tháng 6, 2026 · 38 phút · Tuan Anh
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

🇬🇧 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