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

אתם צופים במסמכי התיעוד של Apigee Edge.
כדאי לעיין במסמכי התיעוד של Apigee X.
מידע

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

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

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

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

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

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

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

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

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

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

ההגנה הזו פועלת בנקודת הכניסה של שרת ה-API שלכם.

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

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

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

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

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