הגדרת מגבלת זמן קצוב לתפוגה של יעד ב-Apigee Hybrid

סקירה כללית

ב-Apigee Hybrid, הזמן הקצוב לתפוגה של יעד io.timeout.millis הוא 55,000 אלפיות השנייה כברירת מחדל. מידע נוסף זמין במאמר מפרט התעבורה של נקודת הקצה של היעד.

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

  • הגדרת virtualhosts[].requestTimeout בין Istio לבין מעבד בקשות(MP). ראו virtualhosts
  • הגדרת conf_http_HTTPTransport.io.timeout.millis בין MP לבין Targets

אתם יכולים להגדיר את ההגדרות האלה לסביבות בודדות או לכל הסביבות בהתקנה.

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

הערך של requestTimeout הוא משך הזמן המקסימלי (בשניות) שמוגדר במארח וירטואלי לעיבוד בקשה על ידי MP.

כדי להגדיר את מגבלת הזמן הקצוב לתפוגת הבקשה, אפשר להשתמש במאפיינים virtualhosts[].requestTimeout. מבצעים את השינויים הבאים בקובץ overrides.yaml:

  1. מוסיפים את ה-stanza הבא לקובץ overrides.yaml:
    virtualhosts:
    - name: ENV_GROUP_NAME
      requestTimeout: 600   # Increase requestTimeout to 600 seconds
    
  2. צריך לשדרג כל קבוצת סביבות (virtualhost) בנפרד. מציינים את קבוצת הסביבות באמצעות --set envgroup=ENV_GROUP_NAME. חוזרים על הפקודות הבאות לכל קבוצת סביבות שמוזכרת בקובץ overrides.yaml:

    הרצת בדיקה:

    helm upgrade ENV_GROUP_RELEASE_NAME apigee-virtualhost/ \
      --install \
      --namespace APIGEE_NAMESPACE \
      --set envgroup=ENV_GROUP_NAME \
      -f OVERRIDES_FILE \
      --dry-run=server
    

    ‫ENV_GROUP_RELEASE_NAME הוא השם שבו התקנתם בעבר את תרשים apigee-virtualhost. בדרך כלל זה הנתיב ENV_GROUP_NAME.

    שדרוג התרשים:

    helm upgrade ENV_GROUP_RELEASE_NAME apigee-virtualhost/ \
      --install \
      --namespace APIGEE_NAMESPACE \
      --set envgroup=ENV_GROUP_NAME \
      -f OVERRIDES_FILE
    
  3. בודקים את המצב של ApigeeRoute ‏ (AR).

    התקנת virtualhosts יוצרת ApigeeRouteConfig ‏ (ARC) שיוצר באופן פנימי ApigeeRoute ‏ (AR) אחרי שה-watcher של Apigee שולף פרטים שקשורים לקבוצת הסביבות ממישור הבקרה. לכן, צריך לבדוק שהסטטוס של ה-AR המתאים הוא running:

    kubectl -n APIGEE_NAMESPACE get arc
    
    NAME                                STATE   AGE
    apigee-org1-dev-egroup                       2d
    kubectl -n APIGEE_NAMESPACE get ar
    
    NAME                                        STATE     AGE
    apigee-org1-dev-egroup-cb9a8a                running   2d

הגדרת סביבות נפרדות לשינוי מגבלת הזמן הקצוב לתפוגה של היעד

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

כדי להגדיר סביבות נפרדות לשינוי מגבלת הזמן הקצוב ליעד, אפשר להשתמש במאפיינים envs[].components.runtime. מבצעים את השינויים הבאים בקובץ overrides.yaml:

  1. מוסיפים את ה-stanza הבא לקובץ overrides.yaml:
    envs:
    - name: ENV_NAME
      components.
        runtime:
          cwcAppend:
            conf_http_HTTPTransport.io.timeout.millis: 600000   # Increase io.timeout.millis to 600000 milliseconds
    
  2. צריך לשדרג כל סביבה בנפרד. משדרגים את התרשים apigee-env לכל סביבה שרוצים לעדכן:

    הרצת בדיקה:

    helm upgrade ENV_RELEASE_NAME apigee-env/ \
      --install \
      --namespace APIGEE_NAMESPACE \
      --set env=ENV_NAME \
      -f OVERRIDES_FILE \
      --dry-run=server
    
    • ‫ENV_RELEASE_NAME הוא שם שמשמש למעקב אחרי התקנות ושדרוגים של תרשים apigee-env. השם הזה צריך להיות ייחודי ולא יכול להיות זהה לשמות אחרים של Helm release בהתקנה. בדרך כלל זהה ל-ENV_NAME. עם זאת, אם לסביבה יש את אותו שם כמו לקבוצת הסביבות, צריך להשתמש בשמות שחרור שונים לסביבה ולקבוצת הסביבות, לדוגמה dev-env-release ו-dev-envgroup-release. מידע נוסף על מהדורות ב-Helm זמין במאמר Three big concepts class="external" במאמרי העזרה של Helm.
    • ‫ENV_NAME הוא שם הסביבה שמשדרגים.
    • OVERRIDES_FILE הוא הקובץ overrides.yaml הערוך.
  3. שדרוג התרשים:
    helm upgrade ENV_RELEASE_NAME apigee-env/ \
      --install \
      --namespace APIGEE_NAMESPACE \
      --set env=ENV_NAME \
      -f OVERRIDES_FILE
    
  4. כדי לוודא שהיא פועלת, בודקים את המצב של סביבת ה-env המתאימה:

    kubectl -n APIGEE_NAMESPACE get apigeeenv
    
    NAME                          STATE       AGE   GATEWAYTYPE
    my-org-my-env-123abc          running     2d

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

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

  1. מוסיפים את ה-stanza הבא לקובץ overrides.yaml:
    runtime:
      cwcAppend:
        conf_http_HTTPTransport.io.timeout.millis: 600000   # Increase io.timeout.millis to 600000 milliseconds
    
  2. משדרגים את התרשים apigee-env לכל סביבה בהתקנה:

    הרצת בדיקה:

    helm upgrade ENV_RELEASE_NAME apigee-env/ \
      --install \
      --namespace APIGEE_NAMESPACE \
      --set env=ENV_NAME \
      -f OVERRIDES_FILE \
      --dry-run=server
    

    שדרוג התרשים:

    helm upgrade ENV_RELEASE_NAME apigee-env/ \
      --install \
      --namespace APIGEE_NAMESPACE \
      --set env=ENV_NAME \
      -f OVERRIDES_FILE