Restful API
Request Rate Limit

Rate Limit

Để bảo vệ các API, hệ thống đã được cài đặt cơ chế Rate Limit để tránh tình trạng một API được gọi liên tục trong một thời gian ngắn, dẫn đến tắt nghẽn hệ thống.

Một Request ID là tổ hợp của [Địa chỉ IP], [HTTP Method], [Controller] & [JWT Hash]. Hệ thống số lượng được tính dựa theo các Request ID.

Hệ thống Rate Limit được sử dụng theo thuật toán Leaky Bucket và có Window Time là 3 giây. Tức là trong vòng 3 giây sẽ bị giới hạn các Request theo bảng bên dưới. Sau 3 giây thì sẽ được reset về 0.

Bên dưới là số lượng theo từng HTTP Method:

GET: 2000 request / 3 giây

POST: 100 request / 3 giây

PUT: 100 request / 3 giây

DELETE: 100 request / 3 giây

Other: 50 request / 3 giây

LƯU Ý: Cơ chế Rate Limit này không tác động đến các Inter-service API Call, tức là các service trong hệ thống gọi lẫn nhau.