הוספת המדיניות של Spike Arrest ל-API

מוצג המסמך של Apigee Edge.
עוברים אל מסמכי תיעוד של Apigee X.
מידע

מה תלמדו

במדריך הזה תלמדו:

  • מוסיפים מדיניות שמשפיעה על הבקשה והתשובה.
  • כאן אפשר לראות את השפעות המדיניות.

מה צריך להכין

  • מדיניות אחת לפחות בשרת ה-proxy (גם חלק מהמדריך 'תחילת העבודה').
  • האפליקציה curl מותקנת במחשב שלכם כדי לבצע קריאות ל-API משורת הפקודה.

הוספת המדיניות בנושא מעצרת שיא

במדריך הזה צריך להוסיף ולהגדיר את המדיניות שלSpikeArrest כדי לשמור על היעד שירות מפני עליות פתאומיות בתנועת הגולשים שיכולות לנבוע מעלייה בשימוש, מלקוחות באגים, או התקפות זדוניות. כשמספר הבקשות חורג ממגבלת הקצב, ה-API מחזיר שגיאת HTTP 500 בבקשה.

הוספת המדיניות Spke Arrest לשרת proxy ל-API:

  1. נכנסים לחשבון בכתובת apigee.com/edge.
  2. בוחרים באפשרות פיתוח > שרתי proxy ל-API בסרגל הניווט הימני.
  3. בוחרים את ה-Proxy ל-API שאליו רוצים להוסיף את המדיניות בנושא עצירת ביניים.

    אם פעלתם בהתאם למדריך 'תחילת העבודה', תוכלו להוסיף אותו "get started" שרת proxy שיצרת בקטע יצירת שרת proxy ל-API.

  4. בכלי העריכה של שרת ה-proxy החדש ל-API, לוחצים על הכרטיסייה פיתוח:

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

  5. בחלונית Navigator שמשמאל, לוחצים על PreFlow בקטע Proxy. נקודות קצה > ברירת מחדל. (מדריכים נוספים עוסקים בנושא של flows.)
  6. לוחצים על הלחצן +שלב העליון, שתואם לנתיב של 'בקשה מראש'. הזה מציגה רשימה מחולקת לקטגוריות של כל כללי המדיניות שניתן ליצור.

    לוחצים על Step in Request PreFlow (שלב בקשה מראש)

  7. בוחרים באפשרות מעצר קליטה בקטגוריה 'ניהול תעבורת נתונים'. המדיניות החדשה מופיעה תיבת דו-שיח:

    יצירת מדיניות בנושא מעצרת שיא

  8. משאירים את שמות ברירת המחדל ולוחצים על הוספה. המדיניות החדשה מצורפת אל את רצף ה-PreFlow של הבקשה.
  9. ב-Navigator, מוודאים שPreFlow בקטע Endpoints > ברירת המחדל עדיין מסומנת, ושימו לב לפרטים הבאים בעורך ה-API Proxy:
    • המדיניות החדשה Spike Arrest-1 נוספה בקטע מדיניות כלי הניווט בצד הימני של עורך ה-proxy ל-API.
    • הסמל Spike Arrest-1 נוסף לתצוגת Designer במרכז העליון של עורך ה-API Proxy, שמייצג ייצוג חזותי של הודעה זורמת.
    • ה-XML של המדיניות מוצג בתצוגת קוד במקומות הבאים: בחלק התחתון של עורך ה-API Proxy.

    הצגת המדיניות בנושא PreFlow עם 'עצרת שיא'

  10. ב-Navigator, בוחרים באפשרות Spike Arrest-1 בקטע Policy ורושמים את הבא בעורך ה-API Proxy:
    • פרטי המדיניות מוצגים בתצוגת המעצב שלמעלה. במרכז של עורך ה-API Proxy.
    • קוד ה-XML של המדיניות מוצג בתצוגת קוד בתחתית המסך. במרכז של עורך ה-API Proxy.
    • רכיב ה-XML וערכי המאפיינים של המדיניות מוצגים הכלי לבדיקת נכסים בצד שמאל של עורך ה-proxy ל-API.

  11. ב-XML של המדיניות, משנים את הערך של רכיב <Rate> ל13:00 (שהוא מתורגמת לכ-2 בקשות שמותרות כל 60 שניות בענן).

    אפשר לציין את הקצב כערך מספר שלם לדקה (pm) או לכל שנייה (ps). זוהי תקרה נמוכה מאוד ומשמשת רק למדריך הזה כדי תדגים את המדיניות. בדרך כלל מגדירים תקרה גבוהה יותר.

    שימו לב שגם הערך Rate ב'כלי לבדיקת נכסים' משתנה ל-'13:00'. לחלופין, אפשר לשנות את ערך התעריף בכלי לבדיקת נכסים והוא יבוא לידי ביטוי בתצוגת ה-XML.

  12. לוחצים על שמירה כדי לשמור את הגרסה הנוכחית עם השינויים.
  13. קוראים ל-API באמצעות curl, מחליפים את שם הארגון ב-Apigee עבור org_name:

    curl "http://org_name-test.apigee.net/getstarted"

    לדוגמה:

    curl "http://ahamilton-eval-test.apigee.net/getstarted" | python -m json.tool

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

  14. מריצים את הפקודה curl (או מרעננים את חלון הדפדפן) עוד שתיים או שלוש פעולות. פעמים בתוך דקה, ותשימו לב שקיבלתם את ההודעה הבאה כי חרגתם מגבלת הקצב של יצירת הבקשות:
    {
    "fault": {
      "faultstring":"Spike arrest violation. Allowed rate : 1pm",
      "detail": {
        "errorcode":"policies.ratelimit.SpikeArrestViolation"}
      }
    }

    אם תנסו לבצע עוד שיחות תוך דקה, השגיאה אמורה להופיע. הודעה.

  15. צריך לערוך את המדיניות כך שמגבלה של פחות מ-Rate> תהיה 15:00 (פירוש הדבר הוא כ-2 שיחות שמותרות כל 4 שניות ענן), ואז שומרים את ה-proxy של ה-API.
  16. צריך להריץ את הפקודה curl או לרענן את הדפדפן שוב ושוב (curl מהיר יותר). חשוב לדעת שאם מבצעים קריאה אחת או שתיים במרווחי זמן של 4 שניות, הקריאות מצליחות. אם להתקשר במהירות, יותר משתי שיחות תוך 4 שניות, אמורה לקרוס. אבל אחרי בכל פרק זמן של 4 שניות, תוכלו להמשיך לבצע שיחות במקום להיחסם למשך של דקה שלמה (באמצעות ההגדרה 13:00).