Preview Bản nháp chờ review — title, nội dung, link có thể sửa trước khi bỏ nhãn.

Circuit breaker bảo vệ dependency. Bản thân nó cũng hỏng theo kiểu có tên.

Flapping

Mở/đóng liên tục vì threshold nhạy + traffic burst. Metric nhiễu; client thấy 503 lác đác. Chữa: hysteresis, cửa sổ trượt đủ mẫu, cool down tối thiểu.

Half-open storm

CLOSED --fail%--> OPEN --timer--> HALF_OPEN
                                      │
                    50 request cùng lúc “thử”  →  dependency gục lại
                    đúng: 1 probe; còn lại fail-fast / xếp hàng ngắn

Chữa: một (vài) probe; request khác fail-fast hoặc queue ngắn; chỉ CLOSED lại khi probe OK.

Fail-closed vs fail-open

Fail-closed  — khi breaker/lỗi: từ chối (an toàn, mất availability)
Fail-open    — khi không chắc: cho qua (availability, rủi ro)

Auth / money path     → nghiêng closed
Feature phụ / banner  → có thể open + degrade
Breaker chính hỏng    → quyết định explicit, đừng mặc định im

Ghép

  • Bulkhead — giới hạn concurrent trước khi breaker mở.
  • Retry — không retry khi breaker mở.
  • Shed — khi quá tải toàn cục.

Một câu

Breaker cũng cần thiết kế failure — không chỉ threshold lỗi.
Probe nhẹ; đừng flap; chọn open/closed theo rủi ro.