Bài viết liên quan
Kiến trúc vi dịch vụ (Microservices)
Microservices Architecture
Kiến trúc vi dịch vụ (Microservices) là gì?
Kiến trúc vi dịch vụ (Microservices Architecture) là phương pháp thiết kế hệ thống theo đó một ứng dụng ngân hàng lớn được phân tách thành hàng trăm dịch vụ nhỏ, độc lập, lỏng lẻo liên kết (loosely coupled). Mỗi microservice sở hữu cơ sở dữ liệu riêng, thực hiện đúng một chức năng nghiệp vụ (Single Responsibility) như: Thanh toán, Tín dụng, Quản lý Khách hàng (CRM), Thẻ, Tiền gửi... Mỗi dịch vụ có thể được phát triển, triển khai, mở rộng (scale) độc lập bằng các công nghệ khác nhau (Java, Go, Node.js).
Đặc điểm chính
- Độc lập triển khai: Mỗi service có pipeline CI/CD riêng, team DevOps có thể release Loan Service mà không ảnh hưởng Payment Service.
- Khả năng mở rộng đàn hồi: Dịp lễ Tết, Transfer Service được auto-scale từ 10 lên 200 pod trên Kubernetes để chịu tải.
- Cô lập lỗi (Fault Isolation): Một service sập (vd: module QR Pay) không làm sập toàn bộ Internet Banking.
- Đa dạng công nghệ: Mỗi service chọn ngôn ngữ, database tối ưu (vd: Customer Service dùng PostgreSQL, Cache dùng Redis).
- Giao tiếp qua API: Sử dụng REST, gRPC, Kafka event-driven, đảm bảo tuân thủ Quyết định 2345/QĐ-NHNN về kết nối API mở.
Ví dụ thực tế
Ngân hàng Techcombank triển khai hơn 150 microservice trên nền tảng Cloud (TCBS). Khi khách hàng mở thẻ tín dụng online: Onboarding Service -> eKYC Service (xác minh danh tính) -> Credit Scoring Service (chấm điểm) -> Card Issuance Service. Mỗi bước là một microservice riêng, giao tiếp bất đồng bộ qua Kafka, cho phép rút ngắn thời gian phát hành thẻ từ 7 ngày xuống 5 phút, đồng thời đáp ứng yêu cầu khả dụng liên tục theo Điều 15 Thông tư 17/2024/TT-NHNN.