בתהליך הגדרה של הנתב כדי לנסות שוב להתחבר למעבד הודעות

Edge for Private Cloud גרסה 4.17.09

הגדרת התגובה של הנתב כשמעבד הודעות לא זמין במהלך בדיקת תקינות

הנתב מבצע בדיקת תקינות למעבד ההודעות כל חמש שניות כדי לקבוע אם מעבד ההודעות יכול לטפל בבקשות. אם מעבד הודעות נפל, הנתב יעביר בקשות באופן אוטומטי למעבד הודעות אחר.

אפשר להגדיר את התגובה של הנתב כשמעבד ההודעות מושבת. לשם כך, מגדירים בנתב את המאפיין conf_load_balancing_load.balancing.driver.nginx.server.retry. המאפיין הזה מקבל קבוצת ערכים מופרדת ברווחים, שיכולים לכלול:

  • כבוי: משביתים את האפשרות 'ניסיון חוזר', הנתב מחזיר קוד כשל לפי הבקשה.
  • http_599: (ברירת מחדל) אם הנתב מקבל תגובת HTTP 599 ממעבד ההודעות, הנתב יעביר את הבקשה למעבד ההודעות הבא.

    HTTP 599 הוא קוד תגובה מיוחד שנוצר על ידי מעבד הודעות בזמן כיבוי. מעבד ההודעות מנסה להשלים את כל הבקשות הקיימות, אבל בכל בקשה חדשה הוא מגיב עם HTTP 599 כדי לאותת לנתב לנסות שוב את הבקשה במעבד ההודעות הבא.
  • שגיאה: אם אירעה שגיאה במהלך יצירת חיבור למעבד ההודעות, העברת בקשה אליו או קריאת כותרת התגובה ממנו, הנתב יעביר את הבקשה למעבד ההודעות הבא.
  • timeout: אם תם הזמן הקצוב לתפוגה במהלך יצירת חיבור למעבד ההודעות, העברת בקשה אליו או קריאת כותרת התגובה ממנו, הנתב יעביר את הבקשה למעבד ההודעות הבא.
  • invalid_header: אם מעבד ההודעות החזיר תגובה ריקה או לא חוקית, הנתב יעביר את הבקשה למעבד ההודעות הבא.
  • http_XXX: אם מעבד ההודעות החזיר תשובה עם קוד HTTP XXX, הנתב יעביר את הבקשה למעבד ההודעות הבא.

כדי להגדיר את הנתב:

  1. עורכים את הקובץ /opt/apigee/customer/application/router.properties (אם הקובץ לא קיים, יוצרים אותו).
  2. מוסיפים את המאפיין conf_load_balancing_load.balancing.driver.nginx.server.retry כפי שמוצג כאן:
    conf_load_balancing_load.balancing.driver.nginx.server.retry=http_599 שגיאה.
  3. מוודאים שקובץ המאפיינים נמצא בבעלות משתמש ה-apigee:
    > chown apigee:apigee /opt/apigee/customer/application/router.properties
  4. מפעילים מחדש את הנתב:
    > /opt/apigee/apigee-service/bin/apigee-service edge-router מחדש

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

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

אפשר להשתמש בשני מאפיינים כדי לשלוט בזמן הקצוב לתפוגה:

  • החלק conf_load_balancing_load.balancing.driver.proxy.read.timeout מציין את זמן ההמתנה (בשניות) למעבד הודעות יחיד. ערך ברירת המחדל הוא 57 שניות.
  • החלק conf_load_balancing_load.balancing.driver.nginx.upstream_next_timeout מציין את זמן ההמתנה הכולל עבור כל מעבדי ההודעות, בשניות, כאשר התקנת Edge כוללת מספר מעבדים של הודעות. הוא כולל ערך ברירת מחדל של הערך הנוכחי של conf_load_balancing_load.balancing.driver.proxy.read.timeout, או 57 שניות.

כדי להגדיר את הנתב:

  1. עורכים את הקובץ /opt/apigee/customer/application/router.properties (אם הקובץ לא קיים, יוצרים אותו).
  2. מגדירים את המאפיינים כמו שמתואר כאן:
    conf_load_balancing_load.balancing.driver.proxy.read.timeout=120
    conf_load_balancing_load.balancing.driver.nginx.upstream_next_timeout=240
  3. מוודאים שקובץ המאפיינים נמצא בבעלות משתמש ה-apigee:
    > chown apigee:apigee /opt/apigee/customer/application/router.properties
  4. מפעילים מחדש את הנתב:
    > /opt/apigee/apigee-service/bin/apigee-service edge-router מחדש