Chiến lược Resilience (Tăng độ bền vững)

Các chiến lược thiết kế giúp hệ thống vẫn hoạt động hoặc nhanh chóng phục hồi khi gặp sự cố - công cụ hiện thực hóa Fault Tolerance.

Các chiến lược chính

  • Redundancy & Replication - “không để trứng vào một giỏ”: luôn có thành phần dự phòng, loại bỏ single point of failure. → Replication
  • Failover - tự động chuyển sang backup khi thành phần chính hỏng (kết hợp health check).
  • Load Balancing - phân phối tải, loại máy hỏng khỏi vòng.
  • Retry logic - tự thử lại yêu cầu sau khi thất bại (nhiều lỗi mạng chỉ tạm thời), kèm exponential backoff (chờ 2s → 4s → …) và giới hạn số lần retry.
  • Graceful Degradation - “thà chạy hạn chế còn hơn chết hẳn”: tắt tính năng phụ, giữ chức năng cốt lõi. Ví dụ tắt module bình luận nhưng news feed vẫn chạy; giảm chất lượng video thay vì gián đoạn.
  • Circuit Breaker - ngắt dòng yêu cầu đến thành phần đang lỗi để tránh lỗi lan rộng, rồi phục hồi dần (đi kèm graceful degradation).
  • Health Check & Monitoring - liên tục kiểm tra trạng thái (ping mỗi 5s, 3 lần không phản hồi → kết luận chết → failover), thu thập chỉ số + cảnh báo. → Monitoring

Ngoài ra còn bulkhead pattern (cách ly lỗi), self-healing…

Liên quan