Giới hạn tốc độ là gì
Giới hạn tần suất yêu cầu API
Giới hạn tốc độ là cơ chế giới hạn số lượng yêu cầu đến API hoặc dịch vụ trong một khoảng thời gian cụ thể.
Tại sao giới hạn tốc độ quan trọng
- Bảo vệ máy chủ khỏi quá tải
- Ngăn chặn tấn công DDoS
- Phân phối tài nguyên công bằng
- Kiểm soát chi phí cơ sở hạ tầng
- Đảm bảo dịch vụ ổn định cho tất cả người dùng
Các loại giới hạn
- Yêu cầu mỗi giây (RPS) — giới hạn cổ điển
- Yêu cầu mỗi phút/giờ — kiểm soát dài hạn
- Theo người dùng — giới hạn cá nhân
- Theo địa chỉ IP — bảo vệ chống bot
- Theo gói giá — kiếm tiền từ API
Thuật toán triển khai
- Token Bucket — token trong thùng
- Leaky Bucket — thuật toán thùng rò rỉ
- Fixed Window — cửa sổ thời gian cố định
- Sliding Window — phương pháp cửa sổ trượt
HTTP Headers
- X-RateLimit-Limit — yêu cầu tối đa
- X-RateLimit-Remaining — yêu cầu còn lại
- X-RateLimit-Reset — thời gian đặt lại giới hạn
- Retry-After — khi nào thử lại