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

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

במסמך הזה מוסבר איך להגדיר את פרק הזמן הקצוב לתפוגה של חיבור למעבדי הודעות ב-Apigee Edge.

הזמן הקצוב לחיבור מייצג את הזמן שמעבד ההודעות ממתין ליצירת חיבור עם שרת היעד. ערך ברירת המחדל של המאפיין connection timeout ב-מעבד בקשות הוא 3 שניות. תקופת הזמן הקצובה הזו חלה על השרתים העורפיים שהוגדרו בהגדרת נקודת היעד ועל מדיניות ServiceCallout של ה-API proxy.

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

  • בשרת ה-proxy ל-API
    • בנקודת הקצה של היעד
    • במדיניות בנושא ServiceCallout
  • במעבד ההודעות

המאפיינים הבאים קובעים את פסק הזמן של החיבור במעבדי ההודעות:

שם הנכס מיקום תיאור
connect.timeout.millis ‫proxy ל-API:
  • נקודת קצה של היעד
  • המדיניות בנושא ServiceCallout

זהו הזמן המקסימלי שמעבד ההודעות ממתין לחיבור עם שרת היעד.

כברירת מחדל, הערך של המאפיין הזה הוא הערך שמוגדר למאפיין HTTPClient.connect.timeout.millis ב-Message Processor, שערך ברירת המחדל שלו הוא 3 שניות.

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

HTTPClient.connect.timeout.millis מעבד בקשות

זהו הזמן המקסימלי שמעבד ההודעות ממתין לחיבור לשרת היעד.

הנכס הזה משמש את כל שרתי ה-proxy של ה-API שפועלים במעבד ההודעות הזה.

ערך ברירת המחדל של המאפיין הזה הוא 3 שניות.

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

לפני שמתחילים

לפני שמשתמשים בשלבים שמתוארים במאמר הזה, חשוב להבין את הנושאים הבאים:

הגדרת פסק זמן לחיבור בשרת proxy של API

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

  • נקודת קצה של היעד
  • המדיניות בנושא ServiceCallout

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

בקטע הזה מוסבר איך להגדיר פסק זמן לחיבור בנקודת היעד של שרת ה-proxy ל-API. אפשר להגדיר את הזמן הקצוב לתפוגת החיבור באמצעות המאפיין connect.timeout.millis, שמייצג את הערך של הזמן הקצוב לתפוגת החיבור באלפיות שנייה.

  1. בממשק המשתמש של Edge, בוחרים את ה-proxy ל-API הספציפי שבו רוצים להגדיר את הערך החדש של זמן הקצוב לתפוגה של החיבור.
  2. בוחרים את נקודת הקצה הספציפית של היעד שרוצים לשנות.
  3. מוסיפים את המאפיין connect.timeout.millis עם ערך מתאים מתחת לרכיב <HTTPTargetConnection> בהגדרות TargetEndpoint.

    לדוגמה, כדי לשנות את הזמן הקצוב לתפוגה של החיבור ל-5 שניות, מוסיפים את בלוק הקוד הבא:

    <Properties>
      <Property name="connect.timeout.millis">5000</Property>
    </Properties>

    המאפיין connect.timeout.millis מוגדר באלפיות שנייה, ולכן הערך של 5 שניות הוא 5000.

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

    דוגמה להגדרת נקודת קצה לטירגוט באמצעות כתובת URL של שרת קצה עורפי

    <TargetEndpoint name="default">
      <HTTPTargetConnection>
        <URL>https://mocktarget.apigee.net/json</URL>
        <Properties>
          <Property name="connect.timeout.millis">5000</Property>
        </Properties>
      </HTTPTargetConnection>
    </TargetEndpoint>

    דוגמה להגדרת נקודת קצה של יעד באמצעות שרת יעד

    <TargetEndpoint name="default">
      <HTTPTargetConnection>
        <LoadBalancer>
          <Server name="target1" />
          <Server name="target2" />
        </LoadBalancer>
        <Properties>
          <Property name="connect.timeout.millis">5000</Property>
        </Properties>
        <Path>/test</Path>
      </HTTPTargetConnection>
    </TargetEndpoint>
  4. שומרים את השינויים שבוצעו ב-proxy ל-API.

הגדרת פסק זמן לחיבור במדיניות ServiceCallout של שרת proxy ל-API

בקטע הזה מוסבר איך להגדיר את הזמן הקצוב לתפוגה של החיבור במדיניות ServiceCallout של שרת ה-proxy ל-API. אפשר להגדיר את הזמן הקצוב לתפוגה של החיבור באמצעות המאפיין connect.timeout.millis, שמייצג את ערך זמן החיבור באלפיות השנייה.

כדי להגדיר את הזמן הקצוב לתפוגת החיבור במדיניות ServiceCallout באמצעות המאפיין connect.timeout.millis:

  1. בממשק המשתמש של Edge, בוחרים את ה-proxy ל-API הספציפי שרוצים להגדיר בו את ערך הזמן הקצוב לתפוגה של החיבור החדש למדיניות ServiceCallout.
  2. בוחרים את המדיניות הספציפית ServiceCallout שרוצים לשנות.
  3. מוסיפים את המאפיין connect.timeout.millis עם ערך מתאים מתחת לרכיב <HTTPTargetConnection> בהגדרות TargetEndpoint.

    לדוגמה, כדי לשנות את הזמן הקצוב לתפוגה של החיבור ל-5 שניות, מוסיפים את בלוק הקוד הבא:

    <Properties>
      <Property name="connect.timeout.millis">5000</Property>
    </Properties>

    המאפיין connect.timeout.millis מוגדר באלפיות שנייה, ולכן הערך של 5 שניות הוא 5000.

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

    דוגמה להגדרת מדיניות ServiceCallout באמצעות כתובת URL לשרת קצה עורפי

    <ServiceCallout name="Service-Callout-1">
      <DisplayName>Service Callout-1</DisplayName>
      <HTTPTargetConnection>
        <Properties>
          <Property name="connect.timeout.millis">5000</Property>
        </Properties>
        <URL>https://mocktarget.apigee.net/json</URL>
      </HTTPTargetConnection>
    </ServiceCallout>

    דוגמה להגדרת מדיניות ServiceCallout באמצעות שרת יעד

    <ServiceCallout enabled="true" name="Service-Callout-1">
      <DisplayName>Service Callout-1</DisplayName>
      <Response>calloutResponse</Response>
      <HTTPTargetConnection>
        <LoadBalancer>
          <Server name="target1" />
          <Server name="target2" />
        </LoadBalancer>
        <Properties>
          <Property name="connect.timeout.millis">5000</Property>
        </Properties>
      <Path>/test</Path>
      </HTTPTargetConnection>
    </ServiceCallout>
  4. שומרים את השינויים שבוצעו ב-proxy ל-API.

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

בקטע הזה מוסבר איך להגדיר את פסק הזמן של החיבור במעבדי ההודעות. אפשר להגדיר את הזמן הקצוב לתפוגה של החיבור באמצעות המאפיין conf_http_HTTPClient.connect.timeout.millis, שמייצג את הערך של הזמן הקצוב לתפוגה של החיבור באלפיות השנייה ברכיב מעבד בקשות, באמצעות הטוקן בהתאם לתחביר שמתואר במאמר איך מגדירים את Edge.

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

  1. במחשב של מעבד ההודעות, פותחים את הקובץ הבא בכלי לעריכה. אם היא לא קיימת, צריך ליצור אותה.
    /opt/apigee/customer/application/message-processor.properties

    לדוגמה, כדי לפתוח את הקובץ באמצעות vi, מזינים את הפקודה הבאה:

    vi /opt/apigee/customer/application/message-processor.properties
    
  2. מוסיפים שורה בפורמט הבא לקובץ המאפיינים, ומחליפים את הערך TIME_IN_MILLISECONDS:
    conf_http_HTTPClient.connect.timeout.millis=TIME_IN_MILLISECONDS

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

    conf_http_HTTPClient.connect.timeout.millis=5000
  3. שומרים את השינויים.
  4. מוודאים שקובץ המאפיינים נמצא בבעלות המשתמש apigee, כמו שמוצג בהמשך:
    chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
    
  5. מפעילים מחדש את מעבד ההודעות כמו שמוצג בהמשך:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
    
  6. אם יש לכם יותר ממעבד הודעות אחד, חוזרים על השלבים שלמעלה בכל מעבד ההודעות.

אימות של פסק זמן לחיבור במעבדי הודעות

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

למרות שמשתמשים באסימון conf_http_HTTPClient.connect.timeout.millis כדי להגדיר את הזמן הקצוב לתפוגה של החיבור במעבד ההודעות, צריך לוודא שהמאפיין בפועל HTTPClient.connect.timeout.millis הוגדר עם הערך החדש.

  1. במחשב של מעבד ההודעות, מחפשים את המאפיין HTTPTransport.connect.timeout.millis בספרייה /opt/apigee/edge-message-processor/conf ובודקים אם הוא הוגדר עם הערך החדש כמו שמוצג בהמשך:
    grep -ri "HTTPClient.connect.timeout.millis" /opt/apigee/edge-message-processor/conf
    
  2. אם הערך החדש של הזמן הקצוב לתפוגה של החיבור מוגדר בהצלחה במעבד ההודעות, הפקודה שלמעלה מציגה את הערך החדש בקובץ http.properties.

    דוגמה לתוצאה מהפקודה שלמעלה אחרי שהגדרתם את הזמן הקצוב לתפוגה של החיבור ל-5 שניות:

    /opt/apigee/edge-message-processor/conf/http.properties:HTTPClient.connect.timeout.millis=5000

    בדוגמה של הפלט שלמעלה, אפשר לראות שהמאפיין HTTPClient.connect.timeout.millis הוגדר עם הערך החדש 5000 ב-http.properties. הערך הזה מציין שזמן קצוב לתפוגה של החיבור הוגדר בהצלחה ל-5 שניות במעבד בקשות.

  3. אם עדיין מופיע הערך הישן של המאפיין HTTPClient.connect.timeout.millis, צריך לוודא שפעלתם לפי כל השלבים שמפורטים במאמר בנושא הגדרת פסק זמן לחיבור במעבדי הודעות בצורה נכונה. אם פספסתם שלב כלשהו, צריך לחזור על כל השלבים בצורה נכונה.
  4. אם עדיין אין אפשרות לשנות את הזמן הקצוב לתפוגה של החיבור, צריך לפנות לתמיכה של Apigee Edge ב-Google Cloud.