השוואה בין מדיניות בנושא מכסות לבין מדיניות SpikeArrest

אתם צופים במסמכי העזרה של Apigee Edge.
כניסה למסמכי העזרה של Apigee X.
info

כללי המדיניות של מכסות ו-SpikeArrest – לא בטוחים באיזה מהם כדאי להשתמש כדי להגביל את הקצב של הבקשות בצורה הטובה ביותר? תרשים ההשוואה מופיע בהמשך.

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

אין להשתמש בו כדי להגן על הקצה העורפי היעד של שרת ה-proxy של ה-API מפני עליות חדות בנפח התנועה.

לשם כך, משתמשים במדיניות SpikeArrest.

אין להשתמש בו כדי לספור ולגביל את מספר החיבורים שאפליקציות יכולות ליצור לקצה העורפי היעד של שרת ה-proxy של ה-API בפרק זמן מסוים.

לשם כך, משתמשים במדיניות המכסות.

שמירת ספירה? כן לא
שיטות מומלצות לקישור המדיניות:

צריך לצרף אותו ל-ProxyEndpoint Request PreFlow, בדרך כלל אחרי אימות המשתמש.

כך המדיניות תוכל לבדוק את מונה המכסות בנקודת הכניסה של שרת ה-API המחובר.

צריך לצרף אותו ל-ProxyEndpoint Request PreFlow, בדרך כלל בתחילת התהליך.

כך אפשר להגן מפני עליות חדות בנפח התנועה בנקודת הכניסה של שרת ה-API.

קוד מצב HTTP כשמגיעים למגבלה:

500 (שגיאת שרת פנימית) *

500 (שגיאת שרת פנימית) *

חשוב לדעת:
  • מונה המכסות מאוחסן ב-Cassandra.
  • מגדירים את המדיניות כך שהמספר ייסונכרן באופן אסינכרוני כדי לחסוך משאבים.
  • סנכרון אסינכרוני של מונה עלול לגרום לעיכוב בתגובה של הגבלת הקצב, וכתוצאה מכך יכולות להתבצע שיחות שמקצת חורגות מהמגבלה שהגדרתם.
  • מבצעת צמצום קצב העברת הנתונים על סמך המועד שבו התקבלה התנועה האחרונה. הזמן הזה נשמר לכל מעבד הודעות.
  • אם מציינים מגבלת קצב של 100 קריאות לשנייה, יתאפשרו רק קריאה אחת לכל 1/100 שנייה (10 אלפיות השנייה) במעבד ההודעות. קריאה שנייה בתוך 10 אלפיות השנייה תידחה.
  • גם אם מגדירים מגבלת קצב גבוהה לשנייה, בקשות כמעט בו-זמניות עלולות להוביל לדחייה.
פרטים נוספים: מדיניות המכסות מדיניות SpikeArrest

* במדיניות המכסות ובמדיניות SpikeArrest, קוד ברירת המחדל של סטטוס ה-HTTP במקרה של חרגה ממגבלת הקצב הוא 500 Internal Server Error כללי. אפשר לשנות את קוד הסטטוס של כללי המדיניות האלה ל-429 Too Many Requests על ידי הוספת מאפיין ברמת הארגון (features.isHTTPStatusTooManyRequestEnabled). לקוחות Cloud צריכים לפנות אל התמיכה של Apigee Edge כדי להפעיל את המאפיין.