Rate limiting: bảo vệ dịch vụ khỏi lưu lượng đột biến
Backend

Rate limiting: bảo vệ dịch vụ khỏi lưu lượng đột biến

30/09/2026 0 lượt xem

Tìm hiểu các thuật toán giới hạn tốc độ và cách áp dụng thực tế cho API.

Vì sao cần giới hạn tốc độ?

Không có giới hạn, một client lỗi hoặc tấn công có thể làm sập cả hệ thống. Rate limiting là lớp phòng thủ đầu tiên.

“Hệ thống bền vững biết nói không đúng lúc.”

Những điểm chính

  • Token bucket cho phép bùng nổ ngắn
  • Sliding window chính xác hơn fixed window
  • Trả về mã 429 kèm header Retry-After

Bảng tóm tắt

Thuật toánƯu điểmNhược điểm
Fixed windowĐơn giảnĐột biến ở biên
Sliding windowChính xácTốn bộ nhớ
Token bucketLinh hoạtCần tinh chỉnh

Các bước thực hiện

  1. Xác định hạn mức theo từng loại client
  2. Chọn thuật toán
  3. Lưu bộ đếm ở Redis
  4. Trả về phản hồi rõ ràng

Giới hạn hợp lý giúp mọi người dùng đều được phục vụ tốt.

Được phát triển bởi Đại Việt Số dựa trên nền tảng công nghệ của Cloudzone