Thuật toán lùi tỷ lệ
Các thuật toán backoff tốc độ kiểm soát cách hệ thống làm chậm và thử lại các yêu cầu sau khi gặp sự cố hoặc giới hạn tốc độ.
Định nghĩa
Các thuật toán backoff tốc độ là các chiến lược thích ứng được sử dụng để điều chỉnh thời gian thực hiện các yêu cầu lặp lại khi hệ thống gặp lỗi như quá tải máy chủ, sự cố mạng hoặc giới hạn tốc độ. Thay vì thử lại ngay lập tức, các thuật toán này tạo ra khoảng thời gian chờ giữa các lần thử, thường tăng dần khoảng thời gian này (ví dụ: backoff theo cấp số nhân) để giảm áp lực lên hệ thống đích. Chúng được sử dụng rộng rãi trong API, hệ thống phân tán và quy trình quét web để duy trì tính ổn định và tránh kích hoạt các biện pháp chống bot. Bằng cách điều chỉnh tần suất yêu cầu một cách động dựa trên phản hồi, chúng giúp cân bằng giữa hiệu quả và tuân thủ các giới hạn của máy chủ.
Ưu điểm
- Giảm rủi ro quá tải máy chủ bằng cách phân tán các lần thử lại
- Cải thiện tỷ lệ thành công của các yêu cầu trong trường hợp sự cố tạm thời
- Giúp tuân thủ các giới hạn tốc độ API và biện pháp chống bot
- Tăng tính bền bỉ cho hệ thống trong môi trường phân tán và tự động
- Có thể kết hợp với jitter để ngăn chặn sự bùng phát thử lại đồng bộ
Nhược điểm
- Gây thêm độ trễ, làm chậm tổng thể quá trình
- Yêu cầu điều chỉnh cẩn thận khoảng thời gian chờ và giới hạn thử lại
- Backoff quá mức có thể làm chậm quá trình phục hồi ngay cả khi hệ thống đã ổn định
- Cấu hình sai có thể vẫn kích hoạt giới hạn tốc độ hoặc cấm
- Có thể làm tăng độ phức tạp vận hành trong các hệ thống quét quy mô lớn
Trường hợp sử dụng
- Các hệ thống quét web xử lý phản hồi HTTP 429 (Too Many Requests)
- Các client API thích ứng với các điểm cuối bị giới hạn tốc độ như SaaS hoặc dịch vụ đám mây
- Các dòng chảy giải CAPTCHA phối hợp thử lại sau khi phát hiện hoặc thất bại
- Các bot phân tán điều chỉnh tần suất yêu cầu để tránh phát hiện chống bot
- Các quy trình tự động thử lại kết nối mạng hoặc proxy bị thất bại