הסבר על המכסות

‫Cloud Endpoints מספק מכסות שמאפשרות לכם לשלוט בקצב שבו אפליקציות יכולות לבצע קריאות ל-API שלכם. הגדרת מכסה מאפשרת לכם לציין מגבלות שימוש כדי להגן על ה-API מפני מספר מוגזם של בקשות מאפליקציות שקוראות ל-API. יכול להיות שהבקשות המוגזמות נגרמו בגלל שגיאת הקלדה או בגלל מערכת לא יעילה שיוצרת קריאות מיותרות ל-API. לא משנה מה הסיבה, חסימת תנועה ממקור מסוים אחרי שהיא מגיעה לרמה מסוימת היא הכרחית כדי לשמור על תקינות ה-API. הגדרת מכסה מבטיחה שאפליקציה אחת לא תשפיע באופן שלילי על אפליקציות אחרות שמשתמשות ב-API שלכם.

בדף הזה יש סקירה כללית של הפונקציונליות העיקרית שמוצעת על ידי מכסות.

הבקשות משויכות לפרויקט הצרכני

אחרי שמגדירים מכסה, Endpoints עוקב אחרי מספר הבקשות בדקה לכל פרויקט של צרכן Google Cloud . כל אפליקציה שמבצעת קריאה ל-API שלכם צריכה:

  • יש לכם פרויקט ב- Google Cloud .
  • הפעלתם את ה-API בGoogle Cloud פרויקט.
  • שליחת מפתח API. עם כל בקשה ל-API. כך, Endpoints יכול לזהות אתGoogle Cloud הפרויקט שאליו משויכת האפליקציה שקוראת ל-API ולהגדיל את מונה הבקשות עבור Google Cloud הפרויקט.

למידע על הגדרת מפתח API, אפשר לעיין במאמרים הבאים:

אתם יכולים לאפשר לצרכני ה-API ליצור פרויקטים משלהם ב-Google Cloud Console, או ליצור את הפרויקטים בשבילם. מכיוון ש-Endpoints אוכף מכסות לכל פרויקט, צריך פרויקט אחד לכל צרכן API.

הגבלת מספר הבקשות בדקה

הגדרת מכסה מאפשרת להגביל את מספר הבקשות לדקה ל-API כולו או רק לשיטות ספציפיות. אם קוד הלקוח מפרויקט צרכן חורג מהמגבלה שהגדרתם, הבקשה נדחית לפני שהיא מגיעה ל-API שלכם, ומוחזר קוד סטטוס של HTTP‏ 429 too many requests. אפליקציות ששולחות קריאות ל-API יצטרכו לטפל בקוד הסטטוס 429 ולהשתמש בהשהיה מעריכית לפני ניסיון חוזר (exponential backoff) או בלוגיקה אחרת לביצוע ניסיונות חוזרים, כדי להקטין את קצב הקריאות ל-API.

הגדרה של מכסות אחת או יותר

אפשר להגדיר מכסה אחת או יותר עם שם ולציין מגבלת קצב שונה לכל מכסה. לדוגמה, יכול להיות שיש לכם ב-API שיטות שדורשות הרבה משאבים (כמו שיטה שמריצה שאילתה מורכבת ומחזירה רשימה גדולה של תוצאות), ושיטות אחרות שהן מהירות וקלות. כדאי להגדיר שתי מכסות עם מגבלות שונות על קצב הבקשות, ולשייך את השיטות שדורשות הרבה משאבים למכסה אחת, ואת השיטות הקלות למכסה השנייה.

הגדרת עלות

כשמשייכים שיטה למכסת שימוש, תמיד מציינים עלות לבקשה. כך אפשר להשתמש במכסות שונות בשיעורים שונים. אפשר להשתמש בעלויות כחלופה להגדרת מכסות שונות. לדוגמה, נניח שהגדרתם מכסה עם מגבלה של 1,000 בקשות בדקה. בשיטות הקלות, מגדירים עלות של 1, כלומר לקוחות יכולים לקרוא לשיטות הקלות 1,000 פעמים בדקה. לשיטות שדורשות הרבה משאבים, מגדירים עלות של 2, כלומר בכל פעם שהלקוח קורא לשיטה, מונה הבקשות גדל ב-2, עד שמגיעים למגבלה של 1,000. בפועל, המגבלה הזו היא 500 בקשות לדקה לשיטות שדורשות הרבה משאבים.

ביטול המכסה שהוגדרה

בדף Endpoints > Services מוצגת המכסה שהוגדרה לכל שיטה ב-API. אם צריך, אפשר לשנות את המגבלה שהוגדרה לפרויקט צרכן ספציפי. כדי להגדיר שינוי של מכסה, צריך להזין את מספר הפרויקט של פרויקט הצרכן בדף IAM & Admin (ניהול הרשאות גישה ואדמין) > Quotas & Systems Limits (מכסות ומגבלות מערכת). אם אין לכם גישה לפרויקט הצרכן שאתם רוצים לבטל את ההגדרות שלו, תצטרכו לפנות למישהו שיש לו גישה כדי לקבל את מספר הפרויקט.

המאמרים הבאים