Rate limiting giới hạn số request một client được gửi trong một cửa sổ thời gian, nhằm chống lạm dụng/DoS, đảm bảo công bằng giữa người dùng, và bảo vệ downstream khỏi quá tải. Vượt hạn → trả 429 Too Many Requests kèm Retry-After.
Thuật toán: fixed window, sliding window, token bucket (cho burst có kiểm soát), leaky bucket (làm phẳng traffic).
Đặt ở đâu:
- API gateway/edge: chặn sớm, giảm tải toàn hệ.
- Per-service: bảo vệ tài nguyên riêng.
Ở hệ phân tán, bộ đếm phải chia sẻ giữa nhiều node → thường lưu ở store tập trung (Redis) để tổng hạn đúng, thay vì đếm cục bộ từng node.