Bài viết liên quan
Kiến trúc hướng sự kiện (Event-Driven Architecture)
Event-Driven Architecture (EDA)
Kiến trúc hướng sự kiện (EDA) là gì?
Event-Driven Architecture (EDA) là mô hình thiết kế phần mềm trong đó các microservice giao tiếp với nhau thông qua các sự kiện (event) được phát đi khi có thay đổi trạng thái, thay vì gọi API đồng bộ trực tiếp. Trong ngân hàng, EDA thường sử dụng các message broker như Apache Kafka, RabbitMQ hoặc IBM MQ để truyền tải và xử lý sự kiện bất đồng bộ.
Đặc điểm chính
- Phân tách lỏng lẻo (loose coupling): Service phát sự kiện không cần biết ai đang lắng nghe, giúp dễ mở rộng.
- Xử lý bất đồng bộ: Tăng thông lượng, giảm độ trễ khi xử lý hàng triệu giao dịch/ngày.
- Khả năng chịu lỗi cao: Sự kiện được lưu trong log, có thể replay khi consumer gặp sự cố.
- Event sourcing & CQRS: Lưu trữ lịch sử sự kiện phục vụ audit truy vết giao dịch.
Ví dụ thực tế
Khi khách hàng chuyển khoản 5 triệu đồng qua Internet Banking thành công, dịch vụ thanh toán phát sự kiện TransferCompleted lên Kafka topic. Ngay lập tức:
- Notification Service gửi SMS/email xác nhận.
- Ledger Service cập nhật sổ phụ kế toán.
- Fraud Detection Service phân tích gian lận theo thời gian thực.
- Analytics Service cập nhật dashboard BI cho quản trị.
Cả 4 dịch vụ xử lý song song mà không cần service thanh toán gọi API tuần tự đến từng hệ thống.
Cơ sở pháp lý
EDA giúp ngân hàng đáp ứng yêu cầu tại Thông tư 17/2019/TT-NHNN về hệ thống thanh toán và Thông tư 04/2024/TT-NHNN yêu cầu truy vết, lưu trữ nhật ký giao dịch tối thiểu 5 năm, đồng thời đảm bảo hệ thống hoạt động liên tục 24/7 theo Quyết định 2345/QĐ-NHNN.