ממשקי API ציבוריים
כל מפתח API מקבל מגבלה לפי תוכנית, עם התפרצויות ללקוחות שמתנהגים יפה ו-Retry-After מדויק לשאר.
הגבלות קצב אטומיות בצד השרת. GCRA בפקודה אחת, או מגבילים בשם עם חלון נע, token bucket או leaky bucket. בלי Lua.
10 בקשות בדקה למשתמש 42. התשובה אומרת מאושר, המגבלה וכמה נותרו.
הדגמה מונפשת עם פקודות HotKV אמיתיות ותשובות לדוגמה. לחצו על כל שלב כדי לעבור אליו. הפקודות והתשובות נשארות באנגלית, בדיוק כפי שמקלידים ורואים ב-HotKV.
API בלי מגבלות הוא לקוח אחד שמתנהג לא יפה מהשבתה. ביצוע הבדיקה בקוד האפליקציה אומר קריאה, חישוב וכתיבה, ובקשות מקבילות חומקות בין השלבים. צוותים רבים מוצאים את עצמם מתחזקים סקריפט Lua רק כדי להפוך את זה לאטומי.
GCRA.LIMIT מחליט ורושם בצעד אחד, כך ששני לקוחות מקבילים לא יכולים לעבור על אותו מצב, והמגבלה מתמלאת בחלקות במקום להתאפס בגבולות חלונות. עבור מגבלות שמנהלים בשם, RATELIMIT.CREATE מגדיר מגביל עם חלון נע, token bucket או leaky bucket עם סטטיסטיקות על מה שאישר ודחה.
10 בקשות בדקה למשתמש 42. התשובה אומרת מאושר, המגבלה וכמה נותרו.
GCRA.LIMIT ratelimit:user:42 60000 10בוט הגרידה מנצל את מכסת ההתפרצות שלו ואז נאמר לו כמה זמן להמתין. בקשה שנדחתה לא משנה דבר.
GCRA.LIMIT ratelimit:bot:7 60000 10לקוחות בתוכנית החינמית מקבלים 100 בקשות בדקה בחלון נע.
RATELIMIT.CREATE free_plan 100 60000 ALGO sliding_windowנקודת קצה של ייצוא עולה 20 יחידות, ולכן היא מנצלת יותר מהמכסה.
RATELIMIT.CHECK free_plan customer:881 COST 20הגדרות, מפתחות במעקב וסך הבקשות שאושרו ונדחו.
RATELIMIT.STATS free_planכל מפתח API מקבל מגבלה לפי תוכנית, עם התפרצויות ללקוחות שמתנהגים יפה ו-Retry-After מדויק לשאר.
ניסיונות לכל IP ולכל חשבון מוגבלים כדי להאט credential stuffing.
קריאות ל-API של שותף או לספק LLM נשמרות מתחת למכסה שלהם בכל העובדים בצי.
מילוי חלק עם התפרצויות, בדיקה ועדכון אטומיים, וזמן ניסיון חוזר בדחייה.
GCRA.LIMITGCRA.RESETחלון נע, token bucket או leaky bucket, שנוצרים פעם אחת ונבדקים לכל מפתח.
RATELIMIT.CREATERATELIMIT.CHECKקריאות יקרות יכולות להיחשב כמה בקשות. GCRA.LIMIT לוקח ספירה, RATELIMIT.CHECK לוקח COST.
COSTסך המאושרות והנדחות לכל מגביל.
RATELIMIT.STATSלא. גם GCRA.LIMIT וגם RATELIMIT.CHECK מבצעים את כל הבדיקה כפקודה אטומית אחת.
GCRA.LIMIT לא דורש הגדרה ועובד בכל תוכנית. מגבילים בשם מסוג RATELIMIT.* מוסיפים בחירה של אלגוריתם וסטטיסטיקות, והם חלק מתוכניות Performance ו-Scale.
כלום. קריאת GCRA שנדחתה משאירה את המגביל ללא שינוי, כך שלקוח שמנסה שוב לא נענש יותר.
HotKV מדבר את פרוטוקול Redis, ולכן אפשר להפנות אליו לקוח קיים ולהריץ את אותן פקודות.