Trong kiến trúc Microservices, tại sao việc sử dụng Circuit Breaker lại là giải pháp then chốt để duy trì tính sẵn sàng (Availability) khi một dịch vụ phụ thuộc bị treo?
Circuit Breaker là một mẫu thiết kế (design pattern) giúp ngăn chặn sự lan truyền lỗi trong hệ thống phân tán. Khi một dịch vụ gọi đến dịch vụ khác (thông qua HTTP hoặc gRPC) mà dịch vụ đó phản hồi chậm hoặc lỗi liên tục, Circuit Breaker sẽ chuyển trạng thái từ Closed sang Open. Khi ở trạng thái Open, mọi yêu cầu gọi đến dịch vụ đó sẽ bị chặn ngay lập tức (fail-fast), giúp dịch vụ gọi không bị treo do chờ đợi (blocking) và có thời gian để dịch vụ bị lỗi phục hồi. Điều này ngăn chặn hiện tượng Cascading Failure và bảo vệ tài nguyên hệ thống.
Làm Chủ Phỏng Vấn & Nâng Cao Trình Độ Chuyên Nghiệp
Hệ thống khóa học thực chiến chuẩn Enterprise giúp bạn tự tin chinh phục mọi kỳ phỏng vấn kỹ thuật và thăng tiến thu nhập.
Tải Tuyển Tập 100+ Câu Hỏi Phỏng Vấn Chuyên Sâu (PDF)
Bộ tài liệu chuẩn Senior do Unicode Academy tuyển chọn & biên soạn, hỗ trợ tải về định dạng PDF chuẩn in ấn.
Cần Mentor Phỏng Vấn Thử 1-1 & Tối Ưu CV?
Mô phỏng phỏng vấn kỹ thuật thực tế 1-1 qua Google Meet, nhận xét chi tiết điểm mạnh/yếu và sửa CV trực tiếp cùng giảng viên Unicode.
Kiểm Tra CV Chuẩn ATS Miễn Phí
Tải CV của bạn lên để hệ thống AI rà soát từ khóa kỹ năng, định dạng và tính điểm chuẩn nhà tuyển dụng.
Câu hỏi availability & reliability liên quan cùng chủ đề
- Circuit Breaker Pattern là gì? Giải thích các trạng thái của Circuit Breaker và cách nó giúp hệ thống chống lại hiện tượng Cascading Failures trong kiến trúc Microservices. Junior
- Health Check endpoints (Liveness Probe và Readiness Probe) đóng vai trò gì trong việc duy trì tính sẵn sàng của ứng dụng chạy trong môi trường container hóa? Junior
- Tại sao việc sử dụng cơ chế Retry kết hợp với Exponential Backoff và Jitter lại cực kỳ quan trọng khi gọi các API bên thứ ba không ổn định? Junior
- Distributed Lock là gì? Tại sao việc sử dụng In-memory Lock của một tiến trình đơn lẻ lại thất bại trong hệ thống phân tán khi xử lý bài toán tranh chấp tài nguyên? Junior
- Rate Limiting là gì và tại sao một lập trình viên Junior cần phải nắm vững cơ chế này để bảo vệ tính sẵn sàng của hệ thống Backend? Junior


