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.