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

כרגע מוצג התיעוד של Apigee Edge.
כניסה למסמכי התיעוד של Apigee X.
מידע

מסמך זה מסביר איך להגדיר את הזמן הקצוב לתפוגה של קלט/פלט (I/O) עבור מעבדי הודעות של Apigee Edge.

הזמן הקצוב לתפוגה של קלט/פלט (I/O) במעבד ההודעות מייצג את משך הזמן שבו מעבד ההודעות ממתין לקבלת תשובה מהשרת העורפי, או עד שהשקע יהיה מוכן לכתוב בקשה לשרת הקצה העורפי, לפני שהוא מסתיים.

ערך ברירת המחדל של הזמן הקצוב לתפוגה של קלט/פלט של מעבד ההודעות הוא 55 seconds. פרק הזמן הקצוב לתפוגה חל על שרתי הקצה העורפי שהוגדרו בתצורה של נקודת הקצה (endpoint) של היעד ובמדיניות 'יתרונות מרכזיים' של שרת ה-API של שרת ה-API.

לפי הצרכים שלך, אפשר להגדיל או להקטין את הזמן הקצוב לתפוגה של קלט/פלט (I/O) מערך ברירת המחדל של 55 seconds. ניתן להגדיר אותה במקומות הבאים:

  • בשרת proxy ל-API
    • נקודת הקצה (endpoint) של היעד
    • המדיניות בנושא יתרונות מרכזיים של שירות
  • במעבד ההודעות

המאפיינים הבאים שולטים בזמן הקצוב לתפוגה של קלט/פלט (I/O) במעבדי ההודעות:

שם הנכס מיקום התיאור
io.timeout.millis

API מסוג proxy:

  • נקודת קצה (endpoint) של יעד
  • המדיניות בנושא יתרונות מרכזיים של שירות

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

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

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

כברירת מחדל, המאפיין הזה לוקח את הערך שהוגדר למאפיין HTTPTransport.io.timeout.millis במעבד ההודעות. ערך ברירת המחדל הוא 55 seconds.

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

HTTPTransport.io.timeout.millis מעבד בקשות

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

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

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

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

ערך ברירת המחדל של הנכס הזה הוא 55 seconds.

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

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

לפני שמבצעים את השלבים במסמך הזה, חשוב להבין את הנושאים הבאים:

הגדרת זמן קצוב לתפוגה של קלט/פלט (I/O) בשרת ה-API של שרת ה-proxy

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

  • נקודת הקצה (endpoint) של היעד
  • המדיניות בנושא יתרונות מרכזיים של שירות

הגדרת זמן קצוב לתפוגה של קלט/פלט (I/O) בנקודת הקצה של היעד של שרת proxy ל-API

בקטע הזה מוסבר איך להגדיר זמן קצוב לתפוגה של קלט/פלט בנקודת הקצה (endpoint) של היעד של שרת ה-API של שרת ה-API. ניתן להגדיר את הזמן הקצוב לתפוגה של קלט/פלט באמצעות המאפיין io.timeout.millis, שמייצג את ערך הזמן הקצוב לתפוגה של קלט/פלט באלפיות השנייה.

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

        <Properties>
          <Property name="io.timeout.millis">120000</Property>
        </Properties>
    

    מכיוון שהמאפיין io.timeout.millis נמצא באלפיות שנייה, הערך של 120 שניות הוא 120000.

    הדוגמאות הבאות מראות איך להגדיר את הזמן הקצוב לתפוגה של קלט/פלט (I/O) בהגדרות האישיות של נקודת הקצה (endpoint) של היעד בשרת ה-API של שרת ה-API:

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

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

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

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

הגדרת זמן קצוב לתפוגה של קלט/פלט (I/O במדיניות)

בקטע הזה מוסבר איך להגדיר את הזמן הקצוב לתפוגה של קלט/פלט במדיניות של Serviceיתרונות מרכזיים של שרת ה-API של ה-API. ניתן להגדיר את הזמן הקצוב לתפוגה של קלט/פלט באמצעות הרכיב <Timeout> או באמצעות המאפיין io.timeout.millis. גם הרכיב <Timeout> וגם המאפיין io.timeout.millis מייצגים את ערכי הזמן הקצוב לתפוגה של קלט/פלט (I/O) באלפיות השנייה.

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

  • רכיב <Timeout>.
  • נכס אחד (io.timeout.millis).

רכיב זמן קצוב לתפוגה

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

  1. בממשק המשתמש של Edge, בוחרים את שרת ה-API הספציפי של ה-API שבו רוצים להגדיר את הערך החדש של הזמן הקצוב לתפוגה של קלט/פלט במדיניות של המדיניות 'יתרונות מרכזיים'.
  2. בוחרים את המדיניות הספציפית של נכסי היתרונות המרכזיים של השירות שרוצים לשנות.
  3. צריך להוסיף את הרכיב <Timeout> עם ערך מתאים במסגרת ההגדרה של <ServiceCallout>.

    לדוגמה, כדי לשנות את הזמן הקצוב לתפוגה של קלט/פלט (I/O) ל-120 שניות, מוסיפים את שורת הקוד הבאה:

        <Timeout>120000</Timeout>
    

    מכיוון שהרכיב <Timeout> נמצא באלפיות שנייה, הערך של 120 שניות הוא 120000.

    הדוגמה הבאה מראה איך להגדיר את הזמן הקצוב לתפוגה של קלט/פלט במדיניות של ServiceCallout באמצעות הרכיב <Timeout>:

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

    <ServiceCallout name="Service-Callout-1">
        <DisplayName>ServiceCallout-1</DisplayName>
        <Timeout>120000</Timeout>
        <HTTPTargetConnection>
            <Properties/>
            <URL>https://mocktarget.apigee.net/json</URL>
        </HTTPTargetConnection>
    </ServiceCallout>
    
  4. שומרים את השינויים שבוצעו בשרת proxy של ממשק ה-API.

הנכס io.timeout.millis

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

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

    לדוגמה, כדי לשנות את הזמן הקצוב לתפוגה של קלט/פלט (I/O) ל-120 שניות, מוסיפים את קטע הקוד הבא:

        <Properties>
          <Property name="io.timeout.millis">120000</Property>
        </Properties>
    

    מכיוון שהמאפיין io.timeout.millis נמצא באלפיות שנייה, הערך של 120 שניות הוא 120000.

    הדוגמאות הבאות מראות איך להגדיר את הזמן הקצוב לתפוגה של קלט/פלט (I/O) בהגדרות האישיות של נקודת הקצה (endpoint) של היעד בשרת ה-API של שרת ה-API:

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

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

    דוגמה להגדרה של מדיניות יתרונות מרכזיים של שירות באמצעות שרת יעד

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

הגדרת זמן קצוב לתפוגה של קלט/פלט (I/O) במעבדי הודעות

הקטע הזה מסביר איך להגדיר את הזמן הקצוב לתפוגה של קלט/פלט (I/O) במעבדי ההודעות. ניתן להגדיר את הזמן הקצוב לתפוגה של קלט/פלט באמצעות המאפיין HTTPTransport.io.timeout.millis, שמייצג את ערך הזמן הקצוב לתפוגה של קלט/פלט באלפיות השנייה ברכיב של מעבד ההודעות, באמצעות האסימון בהתאם לתחביר המתואר בהוראות להגדרת Edge.

כדי להגדיר את הזמן הקצוב לתפוגה של קלט/פלט (I/O) במעבדי ההודעות, מבצעים את הפעולות הבאות:

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

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

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

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

    conf_http_HTTPTransport.io.timeout.millis=120000
    
  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. אם יש לכם יותר ממעבד הודעות אחד, צריך לחזור על השלבים שלמעלה בכל מעבדי ההודעות.

אימות הזמן הקצוב לתפוגה של קלט/פלט (I/O) במעבדי הודעות

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

למרות שמשתמשים באסימון conf_http_HTTPTransport.io.timeout.millis כדי להגדיר את הזמן הקצוב לתפוגה של קלט/פלט במעבד ההודעות, עליכם לבדוק אם המאפיין HTTPTransport.io.timeout.millis בפועל הוגדר עם הערך החדש.

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

    /opt/apigee/edge-message-processor/conf/http.properties:HTTPTransport.io.timeout.millis=120000
    

    בפלט לדוגמה שלמעלה, שימו לב שהמאפיין HTTPTransport.io.timeout.millis הוגדר עם הערך החדש 120000 ב- http.properties. זה מציין שהזמן הקצוב לתפוגה של קלט/פלט (I/O) הוגדר בהצלחה ל-120 שניות במעבד ההודעות.

  4. אם הערך הישן של המאפיין HTTPTransport.io.timeout.millis מופיע עדיין, עליכם לוודא שביצעתם את כל השלבים המפורטים בקטע הגדרה של זמן קצוב לתפוגה של קלט/פלט (I/O) במעבדי הודעות בצורה נכונה. אם החמצת שלב כלשהו, יש לחזור על כל השלבים בצורה נכונה.
  5. אם עדיין אין לכם אפשרות לשנות את הזמן הקצוב לתפוגה של קלט/פלט, תוכלו לפנות לתמיכה של Apigee Edge.

מה השלב הבא?

מידע נוסף על הגדרת זמן קצוב לתפוגה של קלט/פלט (I/O) בנתבים