מוצג המסמך של Apigee Edge.
עוברים אל
מסמכי תיעוד של Apigee X. מידע
המסמך הזה מסביר איך להגדיר את הזמן הקצוב לתפוגה של קלט/פלט (I/O) למעבדי הודעות של Apigee Edge.
הזמן הקצוב לתפוגה של קלט/פלט במעבד ההודעות מייצג את הזמן שבו מעבד ההודעות ימתין לקבלת תשובה משרת הקצה העורפי או שה-socket יהיה מוכן לכתיבה בקשה לשרת העורפי, לפני תום הזמן הקצוב לתפוגה.
ערך ברירת המחדל של זמן קצוב לתפוגה של קלט/פלט במעבד ההודעות הוא 55 seconds
. הזמן הקצוב לתפוגה
התקופה חלה
לשרתי הקצה העורפי שהוגדרו בתצורה של נקודת הקצה (endpoint) של היעד וב-ServiceCallout
המדיניות של שרת ה-proxy ל-API.
אפשר להגדיל או להנמיך את הזמן הקצוב לתפוגה של קלט/פלט (I/O) מערך ברירת המחדל של מעבדי ההודעות
55 seconds
בהתאם לצרכים שלך. אפשר להגדיר אותה במקומות הבאים:
- ב-proxy ל-API
- נקודת קצה כיעד
- המדיניות בנושא ServiceCallout
- במעבד ההודעות
המאפיינים הבאים קובעים את הזמן הקצוב לתפוגה של קלט/פלט במעבדי ההודעות:
שם הנכס | מיקום | תיאור |
---|---|---|
io.timeout.millis
|
Proxy ל-API:
|
זהו משך הזמן המקסימלי שבו מעבד ההודעות מבצע את הפעולות הבאות:
אם לא תתקבל תגובה משרת הקצה העורפי במהלך התקופה הזו של הזמן הקצוב לתפוגה, הזמן הקצוב לתפוגה של מעבד ההודעות פג.
כברירת מחדל, הנכס הזה מקבל את הערך שהוגדר עבור
המאפיין אם המאפיין הזה משתנה עם ערך חדש של זמן קצוב לתפוגה עבור שרת proxy ספציפי ל-API, רק אותו שרת proxy של ה-API יושפע. |
HTTPTransport.io.timeout.millis
|
מעבד בקשות |
זהו משך הזמן המקסימלי שבו מעבד ההודעות מבצע את הפעולות הבאות:
אם לא תתקבל תגובה משרת הקצה העורפי במהלך התקופה הזו של הזמן הקצוב לתפוגה, הזמן הקצוב לתפוגה של מעבד ההודעות פג. המאפיין הזה משמש לכל שרתי ה-proxy ל-API שפועלים במעבד ההודעות הזה.
ערך ברירת המחדל של הנכס הזה הוא
אפשר לשנות את המאפיין הזה כמו שמוסבר ב
להגדיר זמן קצוב לתפוגה של קלט/פלט במעבדי הודעות, או שאפשר
להחליף את הערך הזה על ידי הגדרה של המאפיין |
לפני שמתחילים
לפני שתשתמשו בשלבים שבמסמך הזה, חשוב שתוודאו שאתם מבינים את הנושאים הבאים:
- אם לא ידוע לך מהו הזמן הקצוב לתפוגת קלט/פלט (I/O), כדאי לעיין במאפיין
io.timeout.millis
תיאור ב מפרט מאפיין התעבורה של נקודת קצה (endpoint). - אם אתם לא יודעים איך להגדיר נכסים ל-Edge for Private Cloud, קראו את המאמר איך להגדיר את Edge.
- חשוב לפעול בהתאם להמלצות שיטות מומלצות להגדרת זמן קצוב לתפוגה של קלט/פלט.
הגדרת זמן קצוב לתפוגה של קלט/פלט בשרת proxy ל-API
אפשר להגדיר את הזמן הקצוב לתפוגה של קלט/פלט במקומות הבאים בשרת ה-proxy של ה-API:
- נקודת קצה כיעד
- המדיניות בנושא ServiceCallout
הגדרת זמן קצוב לתפוגה של קלט/פלט בנקודת הקצה ביעד של שרת ה-proxy ל-API
בקטע הזה מוסבר איך להגדיר זמן קצוב לתפוגה של קלט/פלט בנקודת הקצה ביעד של שרת ה-proxy ל-API.
אפשר להגדיר את הזמן הקצוב לתפוגה של קלט/פלט באמצעות המאפיין io.timeout.millis
,
מייצג את ערך הזמן הקצוב לתפוגה של קלט/פלט באלפיות השנייה.
- בממשק המשתמש של Edge, בוחרים את שרת ה-proxy הספציפי שבו רוצים להגדיר את ערך של זמן קצוב לתפוגה של קלט/פלט.
- בוחרים את נקודת הקצה הספציפית שרוצים לשנות את היעד שלה.
- מוסיפים את הנכס
io.timeout.millis
עם ערך מתאים מתחת רכיב<HTTPTargetConnection>
בהגדרה שלTargetEndpoint
. - שומרים את השינויים שבוצעו בשרת ה-proxy של ה-API.
לדוגמה, כדי לשנות את הזמן הקצוב לתפוגה של קלט/פלט (I/O) ל-120 שניות, מוסיפים את בלוק הקוד הבא:
<Properties> <Property name="io.timeout.millis">120000</Property> </Properties>
מכיוון שהמאפיין io.timeout.millis
נמצא באלפיות שנייה, הערך של
הערך של 120 שניות הוא 120000
.
הדוגמאות הבאות מראות איך להגדיר את הזמן הקצוב לתפוגה של קלט/פלט בנקודת הקצה של היעד של ה-Proxy ל-API:
דוגמה להגדרה של נקודת קצה ביעד באמצעות כתובת URL של שרת עורפי
<TargetEndpoint name="default"> <HTTPTargetConnection> <URL>https://mocktarget.apigee.net/json</URL> <Properties> <Property name="io.timeout.millis">120000</Property> </Properties> </HTTPTargetConnection> </TargetEndpoint>
דוגמה להגדרה של נקודת קצה ליעד באמצעות שרת יעד
<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>
הגדרת זמן קצוב לתפוגה של קלט/פלט במדיניות ServiceCallout של שרת ה-proxy ל-API
בקטע הזה מוסבר איך להגדיר את הזמן הקצוב לתפוגה של קלט/פלט במדיניות ServiceCallout של
שרת proxy ל-API. אפשר להגדיר את הזמן הקצוב לתפוגה של קלט/פלט דרך הרכיב <Timeout>
או המאפיין io.timeout.millis
. גם הרכיב <Timeout>
וגם
המאפיין io.timeout.millis
מייצג את ערכי הזמן הקצוב לתפוגה של קלט/פלט באלפיות השנייה.
אפשר להגדיר את הזמן הקצוב לתפוגה של קלט/פלט במדיניות ServiceCallout באמצעות אחת מהשיטות הבאות:
- רכיב
<Timeout>
. - נכס
io.timeout.millis
.
רכיב הזמן הקצוב לתפוגה
כדי להגדיר את הזמן הקצוב לתפוגה של קלט/פלט במדיניות ServiceCallout באמצעות <Timeout>
בצעו את הפעולות הבאות:
- בממשק המשתמש של Edge, בוחרים את שרת ה-proxy הספציפי ל-API שבו רוצים להגדיר את הערך החדש של הזמן הקצוב לתפוגה של קלט/פלט במדיניות ServiceCallout.
- בוחרים את המדיניות הספציפית של ServiceCallout שרוצים לשנות.
- צריך להוסיף את הרכיב
<Timeout>
עם ערך מתאים מתחת הגדרה של<ServiceCallout>
.לדוגמה, כדי לשנות את הזמן הקצוב לתפוגה של קלט/פלט (I/O) ל-120 שניות, מוסיפים את שורת הקוד הבאה:
<Timeout>120000</Timeout>
מכיוון שהרכיב
<Timeout>
נמצא באלפיות שנייה, הערך של הערך של 120 שניות הוא120000
.בדוגמה הבאה מוסבר איך להגדיר את הזמן הקצוב לתפוגה של קלט/פלט ב-ServiceCallout המדיניות באמצעות הרכיב
<Timeout>
:דוגמה להגדרה של מדיניות ServiceCallout באמצעות כתובת URL של שרת עורפי
<ServiceCallout name="Service-Callout-1"> <DisplayName>ServiceCallout-1</DisplayName> <Timeout>120000</Timeout> <HTTPTargetConnection> <Properties/> <URL>https://mocktarget.apigee.net/json</URL> </HTTPTargetConnection> </ServiceCallout>
- שומרים את השינויים שבוצעו בשרת ה-proxy של ה-API.
נכס io.timeout.millis
כדי להגדיר את הזמן הקצוב לתפוגה של קלט/פלט במדיניות ServiceCallout באמצעות
נכס io.timeout.millis
, צריך לבצע את הפעולות הבאות:
- בממשק המשתמש של Edge, בוחרים את שרת ה-proxy הספציפי ל-API שבו רוצים להגדיר הערך החדש של הזמן הקצוב לתפוגת קלט/פלט (I/O) במדיניות של ServiceCallout.
- בוחרים את המדיניות הספציפית של ServiceCallout שרוצים לשנות.
- מוסיפים את הנכס
io.timeout.millis
עם ערך מתאים מתחת רכיב<HTTPTargetConnection>
בהגדרה של נקודת הקצה של יעד.לדוגמה, כדי לשנות את הזמן הקצוב לתפוגה של קלט/פלט (I/O) ל-120 שניות, מוסיפים את הבלוק הבא של הקוד:
<Properties> <Property name="io.timeout.millis">120000</Property> </Properties>
מכיוון שהמאפיין
io.timeout.millis
נמצא באלפיות שנייה, הערך של הערך של 120 שניות הוא120000
.הדוגמאות הבאות מראות איך להגדיר את הזמן הקצוב לתפוגה של קלט/פלט בנקודת הקצה של היעד של ה-Proxy ל-API:
דוגמה להגדרה של מדיניות ServiceCallout באמצעות כתובת 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>
דוגמה להגדרה של מדיניות Serviceיתרונות מרכזיים באמצעות שרת יעד
<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>
- שומרים את השינויים שבוצעו בשרת ה-proxy של ה-API.
הגדרת זמן קצוב לתפוגה של קלט/פלט במעבדי הודעות
בקטע הזה מוסבר איך להגדיר את הזמן הקצוב לתפוגה של קלט/פלט במעבדי הודעות.
אפשר להגדיר את הזמן הקצוב לתפוגה של קלט/פלט באמצעות המאפיין HTTPTransport.io.timeout.millis
,
שמייצג את ערך הזמן הקצוב לתפוגה של קלט/פלט באלפיות השנייה ברכיב מעבד ההודעות,
באמצעות האסימון, בהתאם לתחביר שמתואר
איך להגדיר
Edge.
כדי להגדיר את הזמן הקצוב לתפוגה של קלט/פלט במעבדי ההודעות, מבצעים את הפעולות הבאות:
- במעבד הודעות, פותחים את הקובץ הבא בעורך. אם לא ניתן
כבר קיים, אז יוצרים אותו.
/opt/apigee/customer/application/message-processor.properties
לדוגמה, כדי לפתוח את הקובץ באמצעות
vi
, מזינים את הפקודה הבאה:vi /opt/apigee/customer/application/message-processor.properties
- מוסיפים לקובץ המאפיינים שורה בפורמט הבא, תוך החלפת ערך ב-
TIME_IN_MILLISECONDS:
conf_http_HTTPTransport.io.timeout.millis=TIME_IN_MILLISECONDS
לדוגמה, כדי לשנות את הזמן הקצוב לתפוגה של קלט/פלט במעבד ההודעות ל-120 שניות, מוסיפים את השורה הבאה:
conf_http_HTTPTransport.io.timeout.millis=120000
- שומרים את השינויים.
- צריך לוודא שקובץ המאפיינים נמצא בבעלות של המשתמש ב-
apigee
, כמו שמוצג בהמשך:chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
- צריך להפעיל מחדש את מעבד ההודעות כפי שמוצג בהמשך:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
- אם יש לכם יותר ממעבד הודעות אחד, צריך לחזור על השלבים שלמעלה בכל הודעות מעבדים.
מאמת את הזמן הקצוב לתפוגה של קלט/פלט במעבדי הודעות
בקטע הזה מוסבר איך לוודא שהזמן הקצוב לתפוגה של קלט/פלט השתנה בהצלחה מעבדי הודעות.
למרות שמשתמשים באסימון conf_http_HTTPTransport.io.timeout.millis
כדי להגדיר את
הזמן הקצוב לתפוגה של קלט/פלט במעבד ההודעות, עליך לבדוק אם המאפיין
HTTPTransport.io.timeout.millis
הוגדר עם הערך החדש.
- במעבד ההודעות, מחפשים את המאפיין
HTTPTransport.io.timeout.millis
. בספרייה/opt/apigee/edge-message-processor/conf
ולבדוק אם הוגדר עם הערך החדש כפי שמוצג בהמשך:grep -ri "HTTPTransport.io.timeout.millis" /opt/apigee/edge-message-processor/conf
- אם הערך החדש של הזמן הקצוב לתפוגת קלט/פלט (I/O) הוגדר בהצלחה במעבד ההודעות, אז הערכים שלמעלה
הפקודה מציגה את הערך החדש בקובץ
http.properties
. - אם עדיין אפשר לראות את הערך הישן של הנכס
HTTPTransport.io.timeout.millis
, לאחר מכן צריך לוודא שביצעתם את כל השלבים המפורטים הגדרת זמן קצוב לתפוגה של קלט/פלט במעבדי הודעות בצורה נכונה. אם יש לכם אם פספסתם שלב כלשהו, וחזרו על כל השלבים שוב בצורה נכונה. - אם עדיין לא הצלחת לשנות את הזמן הקצוב לתפוגה של קלט/פלט, כדאי ליצור קשר עם תמיכה ב-Apigee Edge.
התוצאה לדוגמה מהפקודה שלמעלה לאחר שהגדרתם זמן קצוב לתפוגה של קלט/פלט (I/O) ל- כך נראה הערך של 120 שניות:
/opt/apigee/edge-message-processor/conf/http.properties:HTTPTransport.io.timeout.millis=120000
בפלט לדוגמה שלמעלה, שימו לב שהמאפיין
HTTPTransport.io.timeout.millis
הוגדר עם הערך החדש 120000
ב-
http.properties
. הדבר מציין שהזמן הקצוב לתפוגה של קלט/פלט הוגדר בהצלחה
עד 120 שניות במעבד ההודעות.