Double-Entry Core Ledger
Sổ cái kế toán kép, chỉ ghi thêm (append-only), đảm bảo tính toàn vẹn dữ liệu và kiểm soát xung đột trên tài khoản nóng bằng pessimistic locking.
Hai hệ thống mô phỏng hạ tầng ngân hàng bằng Java/Spring: Double-Entry Core Banking Ledger & ISO 20022 Interbank Payment Gateway
Đây là hai hệ thống mô phỏng nghiệp vụ ngân hàng lõi, xây dựng bằng Java/Spring Boot theo lộ trình 3-6 tháng. Mỗi hệ thống tập trung vào một nhóm vấn đề kỹ thuật riêng:
pain.001, pacs.008), quyết toán cuối ngày theo batch.Core Banking System đã hoàn thành Giai đoạn 1 (45/45 test pass trên PostgreSQL và Oracle, kiểm chứng chống overdraft qua 3 Pod Kubernetes). Payment Gateway là giai đoạn tiếp theo. Tiến độ chi tiết tại Trạng thái dự án và Devlog.
Sub-project A: Interbank Payment Gateway
pain.001 / pacs.008Gọi sang Core Banking qua Internal REST, kèm header Idempotency-Key:
Sub-project B: Core Banking System
Transaction aggregate root — sổ cái double-entry (append-only), đảm bảo Debit = CreditSELECT ... FOR UPDATE), verify qua 3 Pod K8sPayment Gateway gọi vào Core Banking để cập nhật số dư thực tế (tích hợp ở Giai đoạn 3).
| Tiêu chí | Sub-project B: Core Banking System | Sub-project A: Payment Gateway |
|---|---|---|
| Nghiệp vụ cốt lõi | Quản lý tài khoản, ghi sổ cái kế toán kép | Chuyển tiền liên ngân hàng, định dạng ISO 20022 |
| Thử thách lớn nhất | Xung đột đồng thời (race condition) & toàn vẹn dữ liệu | Phân tán trạng thái & xử lý lỗi ngoại lệ (Saga) |
| Mô hình giao dịch | Strong Consistency (ACID + DB locks) | Eventual Consistency (Saga Orchestration) |
| Xử lý Batch | — | EOD Settlement bằng Spring Batch (chunk-oriented) |
| Bảo mật | Spring Security (Giai đoạn 3) | Spring Security (Giai đoạn 3) |