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

Bộ ngắt mạch (Circuit Breaker)

Circuit Breaker

Là mẫu thiết kế (design pattern) giúp hệ thống ngân hàng tránh sụp đổ dây chuyền khi một microservice gặp lỗi hoặc phản hồi chậm. Khi dịch vụ chấm điểm tín dụng (credit scoring) ngừng phản hồi, Circuit Breaker sẽ tự động ngắt kết nối, trả về phản hồi dự phòng (fallback) thay vì để hàng nghìn request bị treo. Sau một khoảng thời gian, nó thử kết nối lại (half-open state) để khôi phục dịch vụ khi hệ thống ổn định.

Bộ ngắt mạch (Circuit Breaker) là gì?

Bộ ngắt mạch (Circuit Breaker) là mẫu thiết kế (design pattern) trong kiến trúc microservice ngân hàng, giúp ngăn chặn lỗi lan truyền (cascading failure) khi một dịch vụ phụ thuộc gặp sự cố. Khi tỷ lệ yêu cầu thất bại vượt ngưỡng cho phép, hệ thống tự động "ngắt mạch" — ngừng gọi đến dịch vụ lỗi và trả về phản hồi dự phòng (fallback) ngay lập tức, thay vì để hàng nghìn request bị treo, tiêu tốn thread pool và băng thông.

Đặc điểm

  • Ba trạng thái hoạt động: Closed (đóng - bình thường), Open (mở - ngắt kết nối), Half-Open (bán mở - thử khôi phục).
  • Ngưỡng cấu hình: failure rate threshold (ví dụ 50%), số request tối thiểu, timeout (ms), sleep window (giây).
  • Phản hồi dự phòng (fallback): Trả dữ liệu cache, giá trị mặc định hoặc thông báo lỗi thân thiện với khách hàng.
  • Thư viện phổ biến: Resilience4j (Java), Polly (.NET), Sentinel (Alibaba), Istio (service mesh).
  • Tích hợp monitoring: Kết hợp Prometheus, Grafana để cảnh báo khi mạch mở.

Ví dụ

Khi dịch vụ chấm điểm tín dụng (credit scoring) từ CIC ngừng phản hồi trong hệ thống cho vay online của ngân hàng, Circuit Breaker tự chuyển sang trạng thái Open, lập tức trả về điểm tín dụng từ cache kèm cảnh báo "Hệ thống đang xử lý". Sau 30 giây chuyển sang Half-Open thử lại; nếu thành công sẽ về Closed, nếu thất bại tiếp tục Open. Theo Thông tư 17/2019/TT-NHNN quy định về an toàn hệ thống ngân hàng điện tử và Quyết định 810/QĐ-NHNN về triển khai ứng dụng CNTT, ngân hàng phải đảm bảo hệ thống hoạt động liên tục 99.9% — Circuit Breaker là giải pháp bắt buộc trong thiết kế microservice.