messenger

Chat Mess

zalo

Chat Zalo

phone

Phone

Gọi ngay: 097.5151.777
messenger

Facebook

messenger

TikTok

Hỗ trợ tư vấn: 097.5151.777
Công nghệ & Số hóa

Kiến trúc Microservices

Microservices Architecture

Phong cách kiến trúc phần mềm phân tách một ứng dụng lớn thành các dịch vụ nhỏ gọn, độc lập, mỗi dịch vụ thực hiện đúng một chức năng nghiệp vụ (single responsibility) và giao tiếp với nhau qua API nhẹ (REST, gRPC) hoặc message broker. Microservices đã thay thế mô hình monolithic truyền thống trong core banking hiện đại, giúp mỗi module (thanh toán, tín dụng, KYC, số dư tài khoản) được phát triển, triển khai và mở rộng độc lập bởi các team khác nhau theo phương pháp 'two-pizza team' của Amazon.

Microservices là gì?

Microservices (hay Microservices Architecture - MSA) là kiến trúc cấu trúc ứng dụng dưới dạng tập hợp các dịch vụ nhỏ, loosely coupled, mỗi service sở hữu cơ sở dữ liệu riêng (database per service) và vận hành trong container độc lập. Khái niệm được Martin Fowler và James Lewis chính thức hóa năm 2014, trở thành nền tảng cho các dịch vụ tài chính số như MoMo, ZaloPay, VNPay và core banking của Techcombank (đã chuyển đổi từ monolith sang microservices từ năm 2020).

Năm đặc điểm cốt lõi

  • Single Responsibility: mỗi service chỉ đảm nhận một nghiệp vụ duy nhất (ví dụ: Card-Service, Loan-Service, KYC-Service).
  • Independent Deployment: triển khai độc lập, không ảnh hưởng service khác – Netflix deploy trung bình 4.000 lần/ngày.
  • Decentralized Data: mỗi service quản lý DB riêng (PostgreSQL, MongoDB, Cassandra); không dùng chung database.
  • API-first Communication: giao tiếp qua RESTful API, gRPC, GraphQL hoặc message queue (Kafka, RabbitMQ).
  • Polyglot Programming: mỗi service có thể dùng ngôn ngữ khác nhau (Java, Go, Node.js, Python).

Pattern thường dùng trong ngân hàng

  • API Gateway: Kong, Apigee, AWS API Gateway làm cổng vào duy nhất.
  • Service Mesh: Istio, Linkerd quản lý giao tiếp, bảo mật mTLS giữa các service.
  • Circuit Breaker: Hystrix, Resilience4j ngắt mạch khi service downstream lỗi, tránh cascade failure.
  • Saga Pattern: xử lý giao dịch phân tán nhiều service (ví dụ: chuyển tiền liên ngân hàng).
  • CQRS + Event Sourcing: tách lệnh và truy vấn, kết hợp ghi log sự kiện.

Ví dụ thực tế

Một ngân hàng Việt Nam triển khai microservices cho hệ thống cho vay: Customer-Service (quản lý khách hàng) → Credit-Scoring-Service (chấm điểm tín dụng, gọi AI model) → Loan-Origination-Service (xử lý hồ sơ) → Disbursement-Service (giải ngân) → Notification-Service (gửi SMS/Push). Khi service chấm điểm tín dụng cần nâng cấp model AI, team có thể deploy bản mới trong 30 phút mà không downtime toàn hệ thống – điều bất khả thi với monolithic. Tuy nhiên, microservices cũng đặt ra thách thức về distributed tracing, data consistency (CAP theorem) và tăng độ phức tạp vận hành, đòi hỏi đầu tư mạnh vào SRE (Site Reliability Engineering).