API công khai
Mỗi API key nhận một giới hạn theo gói, với đột biến cho các client cư xử tốt và một Retry-After chính xác cho phần còn lại.
Giới hạn tốc độ nguyên tử phía máy chủ. GCRA chỉ trong một lệnh, hoặc các bộ giới hạn có tên với cửa sổ trượt, token bucket hoặc leaky bucket. Không cần Lua.
10 yêu cầu mỗi phút cho người dùng 42. Phản hồi cho biết được phép, giới hạn và còn lại bao nhiêu.
Một hướng dẫn minh họa động với các lệnh HotKV thật và phản hồi ví dụ. Nhấn vào bất kỳ bước nào để nhảy tới đó. Lệnh và phản hồi giữ nguyên bằng tiếng Anh, đúng như bạn gõ và thấy trong HotKV.
Một API không có giới hạn chỉ cách sự cố ngừng hoạt động một client hành xử sai. Thực hiện kiểm tra trong mã ứng dụng nghĩa là một lần đọc, một phép tính và một lần ghi, và các yêu cầu đồng thời lọt qua khe hở giữa chúng. Nhiều nhóm cuối cùng phải duy trì một script Lua chỉ để làm cho nó nguyên tử.
GCRA.LIMIT quyết định và ghi lại trong một bước, nên các client đồng thời không thể cùng qua trên cùng một trạng thái, và giới hạn được nạp lại một cách mượt mà thay vì đặt lại tại ranh giới cửa sổ. Với các giới hạn bạn quản lý theo tên, RATELIMIT.CREATE thiết lập một bộ giới hạn cửa sổ trượt, token bucket hoặc leaky bucket với thống kê về những gì nó đã cho phép và từ chối.
10 yêu cầu mỗi phút cho người dùng 42. Phản hồi cho biết được phép, giới hạn và còn lại bao nhiêu.
GCRA.LIMIT ratelimit:user:42 60000 10Bot cào dữ liệu dùng hết hạn mức đột biến của nó và sau đó được cho biết phải chờ bao lâu. Một yêu cầu bị từ chối không làm thay đổi gì.
GCRA.LIMIT ratelimit:bot:7 60000 10Khách hàng gói miễn phí nhận 100 yêu cầu mỗi phút trên một cửa sổ trượt.
RATELIMIT.CREATE free_plan 100 60000 ALGO sliding_windowMột endpoint xuất dữ liệu tốn 20 đơn vị, nên nó dùng nhiều hạn mức hơn.
RATELIMIT.CHECK free_plan customer:881 COST 20Thiết lập, các khóa đang theo dõi và tổng số yêu cầu được phép và bị từ chối.
RATELIMIT.STATS free_planMỗi API key nhận một giới hạn theo gói, với đột biến cho các client cư xử tốt và một Retry-After chính xác cho phần còn lại.
Số lần thử theo IP và theo tài khoản bị giới hạn để làm chậm việc nhồi thông tin đăng nhập.
Các lệnh gọi tới API đối tác hoặc nhà cung cấp LLM được giữ dưới hạn mức của chúng trên mọi worker trong cả đội máy.
Nạp lại mượt mà có đột biến, kiểm tra và cập nhật nguyên tử, thời gian thử lại khi bị từ chối.
GCRA.LIMITGCRA.RESETCửa sổ trượt, token bucket hoặc leaky bucket, tạo một lần và kiểm tra theo từng khóa.
RATELIMIT.CREATERATELIMIT.CHECKCác lệnh gọi tốn kém có thể tính là nhiều yêu cầu. GCRA.LIMIT nhận một số đếm, RATELIMIT.CHECK nhận một COST.
COSTTổng số được phép và bị từ chối theo từng bộ giới hạn.
RATELIMIT.STATSKhông. Cả GCRA.LIMIT và RATELIMIT.CHECK đều thực hiện toàn bộ kiểm tra như một lệnh nguyên tử.
GCRA.LIMIT không cần thiết lập và hoạt động trên mọi gói. Các bộ giới hạn có tên RATELIMIT.* bổ sung lựa chọn thuật toán và thống kê, và là một phần của các gói Performance và Scale.
Không gì cả. Một lệnh gọi GCRA bị từ chối để nguyên bộ giới hạn, nên một client thử lại không bị phạt thêm.
HotKV nói giao thức Redis, nên bạn có thể trỏ một client hiện có tới nó và chạy chính những lệnh này.