אתם צופים במסמכי התיעוד של Apigee Edge.
כדאי לעיין במסמכי התיעוד של Apigee X. מידע
במסמך הזה מוסבר איך להגדיר את פסק הזמן של קלט/פלט (I/O) למעבדי ההודעות של Apigee Edge.
הזמן הקצוב לתפוגה של קלט/פלט במעבד ההודעות מייצג את הזמן שמעבד ההודעות ממתין לקבלת תגובה משרת הקצה העורפי או עד שהסוקט יהיה מוכן לכתיבת בקשה לשרת הקצה העורפי, לפני שהזמן הקצוב לתפוגה יסתיים.
ערך ברירת המחדל של הזמן הקצוב לתפוקה של מעבד ההודעות הוא 55 seconds. תקופת הזמן הקצובה הזו חלה על שרתים בעורף שהוגדרו בהגדרות של נקודת הקצה של היעד ובמדיניות ServiceCallout של ה-API proxy.
אפשר להגדיל או להקטין את הזמן הקצוב לתפוגה של קלט/פלט עבור מעבדי הודעות מהערך שמוגדר כברירת מחדל, 55 seconds, בהתאם לצרכים שלכם. אפשר להגדיר אותו במקומות הבאים:
- בשרת ה-proxy ל-API
- נקודת קצה של היעד
- ServiceCallout policy
- במעבד ההודעות
המאפיינים הבאים שולטים בפסק הזמן של קלט/פלט במעבדי ההודעות:
| שם הנכס | מיקום | תיאור |
|---|---|---|
io.timeout.millis
|
proxy ל-API:
|
זהו הזמן המקסימלי שבו מעבד ההודעות מבצע את הפעולות הבאות:
אם לא תתקבל תגובה משרת הקצה העורפי במהלך תקופת הזמן הקצובה הזו, מעבד ההודעות יפסיק לפעול.
כברירת מחדל, המאפיין הזה מקבל את הערך שמוגדר למאפיין אם משנים את המאפיין הזה עם ערך חדש של זמן קצוב לתפוגה עבור שרת proxy ספציפי של API, השינוי ישפיע רק על שרת ה-proxy הספציפי הזה של ה-API. |
HTTPTransport.io.timeout.millis
|
מעבד בקשות |
זהו הזמן המקסימלי שבו מעבד ההודעות מבצע את הפעולות הבאות:
אם לא תתקבל תגובה משרת הקצה העורפי במהלך תקופת הזמן הקצובה הזו, מעבד ההודעות יפסיק לפעול. המאפיין הזה משמש את כל שרתי ה-API Proxy שפועלים במעבד ההודעות הזה.
ערך ברירת המחדל של המאפיין הזה הוא
אפשר לשנות את הנכס הזה כמו שמוסבר במאמר הגדרת זמן קצוב לתפוגה של קלט/פלט במעבדי בקשות, או להחליף את הערך הזה על ידי הגדרת הנכס |
לפני שמתחילים
לפני שמשתמשים בשלבים שמתוארים במאמר הזה, חשוב להבין את הנושאים הבאים:
- אם אתם לא מכירים את המושג 'פסק זמן של קלט/פלט', תוכלו לעיין בתיאור המאפיין
io.timeout.millisבמפרט מאפייני התעבורה של TargetEndpoint. - אם אתם לא מכירים את ההגדרה של מאפיינים ב-Edge for Private Cloud, כדאי לקרוא את המאמר איך מגדירים את Edge.
- מקפידים לפעול בהתאם להמלצות שבמאמר שיטות מומלצות להגדרת פסק זמן לקלט/פלט.
הגדרת פסק זמן לקלט/פלט ב-API proxy
אפשר להגדיר את הזמן הקצוב לתפוגה של קלט/פלט במקומות הבאים ב-proxy ל-API:
- נקודת קצה של היעד
- ServiceCallout policy
הגדרת פסק זמן של קלט/פלט בנקודת הקצה של היעד של שרת proxy ל-API
בקטע הזה מוסבר איך להגדיר פסק זמן לקלט/פלט בנקודת הקצה של היעד בשרת ה-proxy של ה-API.
אפשר להגדיר את הזמן הקצוב לפעילות של קלט/פלט באמצעות המאפיין io.timeout.millis, שמייצג את הערך של הזמן הקצוב לפעילות של קלט/פלט באלפיות שנייה.
- בממשק המשתמש של Edge, בוחרים את ה-proxy ל-API הספציפי שבו רוצים להגדיר את ערך הזמן הקצוב לתפוגה החדש של קלט/פלט.
- בוחרים את נקודת הקצה הספציפית של היעד שרוצים לשנות.
- מוסיפים את המאפיין
io.timeout.millisעם ערך מתאים מתחת לרכיב<HTTPTargetConnection>בהגדרותTargetEndpoint. - שומרים את השינויים שבוצעו ב-proxy ל-API.
לדוגמה, כדי לשנות את הזמן הקצוב לתפוגה של קלט/פלט ל-120 שניות, מוסיפים את בלוק הקוד הבא:
<Properties>
<Property name="io.timeout.millis">120000</Property>
</Properties>המאפיין io.timeout.millis מוגדר באלפיות השנייה, ולכן הערך של 120 שניות הוא 120000.
בדוגמאות הבאות אפשר לראות איך מגדירים את הזמן הקצוב לתפוגה של קלט/פלט בהגדרות של נקודת הקצה של היעד ב-API Proxy:
דוגמה להגדרת נקודת קצה לטירגוט באמצעות כתובת 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, בוחרים את ה-API Proxy הספציפי שבו רוצים להגדיר את ערך הזמן הקצוב החדש לקלט/פלט עבור מדיניות ServiceCallout.
- בוחרים את מדיניות ServiceCallout הספציפית שרוצים לשנות.
- מוסיפים את הרכיב
<Timeout>עם ערך מתאים בהגדרה<ServiceCallout>.לדוגמה, כדי לשנות את הזמן הקצוב לתפוגה של קלט/פלט ל-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, בוחרים את פרוקסי ה-API הספציפי שבו רוצים להגדיר את ערך הזמן הקצוב החדש לקלט/פלט של מדיניות ServiceCallout.
- בוחרים את מדיניות ServiceCallout הספציפית שרוצים לשנות.
- מוסיפים את המאפיין
io.timeout.millisעם ערך מתאים לרכיב<HTTPTargetConnection>בהגדרות של TargetEndpoint.לדוגמה, כדי לשנות את הזמן הקצוב לתפוגה של קלט/פלט ל-120 שניות, מוסיפים את בלוק הקוד הבא:
<Properties> <Property name="io.timeout.millis">120000</Property> </Properties>המאפיין
io.timeout.millisמוגדר באלפיות השנייה, ולכן הערך של 120 שניות הוא120000.בדוגמאות הבאות אפשר לראות איך מגדירים את הזמן הקצוב לתפוגה של קלט/פלט בהגדרות של נקודת הקצה של היעד ב-API Proxy:
דוגמה להגדרת מדיניות 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>דוגמה להגדרת מדיניות 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> - שומרים את השינויים שבוצעו ב-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
- אם הערך החדש של הזמן הקצוב לתפוגה של קלט/פלט מוגדר בהצלחה במעבד ההודעות, הפקודה שלמעלה מציגה את הערך החדש בקובץ
http.properties. - אם עדיין מוצג הערך הישן של המאפיין
HTTPTransport.io.timeout.millis, צריך לוודא שביצעתם את כל השלבים שמפורטים במאמר הגדרת זמן קצוב לתפוגה של קלט/פלט במעבדי בקשות בצורה נכונה. אם פספסתם שלב כלשהו, צריך לחזור על כל השלבים בצורה נכונה. - אם עדיין אין לך אפשרות לשנות את הזמן הקצוב לתפוגה של קלט/פלט, אפשר ליצור קשר עם התמיכה של Apigee Edge.
התוצאה לדוגמה מהפקודה שלמעלה אחרי שהגדרתם את הזמן הקצוב לתפוגה של קלט/פלט ל-120 שניות היא כדלקמן:
/opt/apigee/edge-message-processor/conf/http.properties:HTTPTransport.io.timeout.millis=120000
בדוגמה של הפלט שלמעלה, אפשר לראות שהמאפיין HTTPTransport.io.timeout.millis הוגדר עם הערך החדש 120000 ב-http.properties. המשמעות היא שפסק הזמן של קלט/פלט הוגדר בהצלחה ל-120 שניות במעבד ההודעות.
מה הלאה?
מידע על הגדרת פסק זמן של קלט/פלט בנתבים