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

סקירה כללית

החל מגרסה 1.14.2, ‏ Apigee hybrid תומך במגבלת זמן קצוב לתפוגה של יעד של עד 10 דקות.

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

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

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

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

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

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

  1. מוסיפים את הבית הבא לקובץ 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 המתאים הוא 'פועל':

    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. מוסיפים את הפסקה הבאה לקובץ overrides.yaml:
    envs:
    - name: ENV_NAME
      components.
        runtime:
          cwcAppend:
            conf_http_HTTPTransport.io.timeout.millis: 600000   # Increase io.timeout.millis to 600000 milliseconds
    
  2. צריך לשדרג סביבה אחת בכל פעם. משדרגים את תרשים ה-Helm של 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 בהתקנה. בדרך כלל, זוהי כתובת ה-URL הסופית של 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. מוסיפים את הפסקה הבאה לקובץ 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