Part 16 · Capstone & Mock Interview

Deadline budget, bounded retry và truthful fallback

Resilience pattern không tạo capacity; dùng sai sẽ kéo dài latency, khuếch đại traffic hoặc che trạng thái payment chưa biết.

Timeout/deadline

Budget end-to-end được chia DNS/connect/TLS/pool/read; caller cancellation propagate khi có thể. Timeout phải ngắn hơn upstream deadline và dựa latency distribution/SLO.

Retry

Chỉ transient, idempotent/identified operations; giới hạn attempts/time, exponential backoff+jitter, retry budget và một layer owner. Không retry validation/auth/permanent failure.

Circuit/bulkhead

Circuit giảm call khi dependency unhealthy và probe recovery; bulkhead giới hạn concurrent resources; rate/load shedding bảo vệ service. Observe state/rejection, tránh fallback giả success.

Unknown outcome

Payment timeout có thể đã charge: order chuyển PAYMENT_PENDING/UNKNOWN, query/reconcile theo provider reference; không tự động mark failed rồi charge lại.

Resilience4j Docs · Google SRE: Cascading Failures