درحال مشاهده اسناد Apigee Edge هستید.
به
اسناد Apigee X بروید. اطلاعات
این سند نحوه پیکربندی کردن زمان اتمام I/O برای «پردازشگرهای پیام Apigee Edge» را توضیح میدهد.
مهلت زمانی ورودی/خروجی در «پردازشگر پیام» نشاندهنده مدت زمانی است که «پردازشگر پیام» منتظر میماند تا یا پاسخی از سرور زیرینه دریافت کند یا سوکت برای نوشتن درخواستی به سرور زیرینه آماده شود، قبلاز اینکه مهلت زمانی آن تمام شود.
مقدار پیشفرض مهلت زمانی ورودی/خروجی «پردازنده پیام» 55 seconds است. این دوره
مهلت زمانی
برای سرورهای زیرینه پیکربندیشده در پیکربندی نقطه پایان هدف و در خطمشی
ServiceCallout میانای برنامهسازی کاربردی شما اعمال میشود.
براساس نیازهایتان، زمان اتمام I/O برای «پردازشگرهای پیام» میتواند از مقدار پیشفرض
55 seconds افزایش یا کاهش یابد. میتوان آن را در مکانهای زیر پیکربندی کرد:
- در پراکسی API
- نقطه پایانی هدف
- خطمشی ServiceCallout
- در «پردازشگر پیام»
خصوصیتهای زیر مهلت زمانی ورودی/خروجی را در «پردازشگرهای پیام» کنترل میکنند:
| نام دارایی | مکان | شرح |
|---|---|---|
io.timeout.millis
|
پراکسی میانای برنامهسازی کاربردی:
|
این حداکثر زمانی است که «پردازشگر پیام» کارهای زیر را انجام میدهد:
اگر در این دوره زماندار پاسخی از سرور پشتیبان دریافت نشود، «پردازنده پیام» زماندار میشود.
بهطور پیشفرض، این دارایی مقدار تنظیمشده برای دارایی
اگر این دارایی با مقدار زمان انتظار جدید برای یک پراکسی API خاص اصلاح شود، فقط آن پراکسی API تحت تأثیر قرار میگیرد. |
HTTPTransport.io.timeout.millis
|
پردازشگر پیام |
این حداکثر زمانی است که «پردازشگر پیام» کارهای زیر را انجام میدهد:
اگر در این دوره زماندار پاسخی از سرور پشتیبان دریافت نشود، «پردازنده پیام» زماندار میشود. این دارایی برای همه «پراکسیهای API» که در این «پردازشگر پیام» اجرا میشوند استفاده میشود.
مقدار پیشفرض این دارایی
میتوانید این دارایی را همانطور که در
پیکربندی زمان اتمام ورودی/خروجی در پردازشگرهای پیام توضیح داده شده است اصلاح کنید، یا میتوانید
با تنظیم دارایی |
قبلاز شروع
قبلاز استفاده از مراحل این سند، مطمئن شوید که موضوعات زیر را درک میکنید:
- اگر با مهلت زمانی ورودی/خروجی آشنا نیستید، شرح دارایی
io.timeout.millisرا در مشخصات دارایی انتقال «نقطه پایانی هدف» ببینید. - اگر با پیکربندی داراییها برای Edge for Private Cloud آشنا نیستید، نحوه پیکربندی Edge را بخوانید.
- مطمئن شوید که توصیههای موجود در روالهای مطلوب برای پیکربندی زمان اتمام I/O را دنبال میکنید.
پیکربندی کردن زمان اتمام ورودی/خروجی در پراکسی میانای برنامهسازی کاربردی
مهلت زمانی ورودی/خروجی را میتوان در مکانهای زیر در پراکسی API پیکربندی کرد:
- نقطه پایانی هدف
- خطمشی ServiceCallout
درحال پیکربندی درنگ ورودی/خروجی در نقطه پایانی هدف میانای برنامهسازی کاربردی پراکسی
این بخش توضیح میدهد که چگونه زمان اتمام I/O را در نقطه پایان هدف میانای برنامهسازی کاربردی خود پیکربندی کنید.
درنگ ورودی/خروجی را میتوان ازطریق دارایی io.timeout.millis پیکربندی کرد، که
مقدار درنگ ورودی/خروجی را به میلیثانیه نشان میدهد.
- در «میانای کاربری Edge»، پراکسی API خاصی را که میخواهید مقدار جدید مهلت زمانی ورودی/خروجی را در آن پیکربندی کنید انتخاب کنید.
- نقطه پایانی هدف خاصی را که میخواهید اصلاح کنید انتخاب کنید.
- دارایی
io.timeout.millisرا با مقدار مناسب در عنصر<HTTPTargetConnection>در پیکربندیTargetEndpointاضافه کنید. - تغییرات ایجادشده در پراکسی API را ذخیره کنید.
برای مثال، برای تغییر «مهلت زمانی ورودی/خروجی» به ۱۲۰ ثانیه، بلوک کد زیر را اضافه کنید:
<Properties>
<Property name="io.timeout.millis">120000</Property>
</Properties>ازآنجاییکه دارایی io.timeout.millis برحسب میلیثانیه است، مقدار
۱۲۰ ثانیه برابر با 120000 است.
نمونههای زیر نحوه پیکربندی زمان انتظار ورودی/خروجی را در پیکربندی نقطه پایانی هدف کارگزار API نشان میدهد:
نمونه پیکربندی نقطه پایان هدف بااستفاده از نشانی وب برای سرور زیرینه
<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 میانای برنامهسازی کاربردی
این بخش توضیح میدهد که چگونه زمان اتمام ورودی/خروجی را در خطمشی ServiceCallout در
پراکسی API پیکربندی کنید. مهلت زمانی ورودی/خروجی را میتوان ازطریق عنصر <Timeout>
یا دارایی io.timeout.millis پیکربندی کرد. هم عنصر <Timeout> و هم
دارایی io.timeout.millis مقادیر مهلت زمانی ورودی/خروجی را به میلیثانیه نشان میدهند.
میتوانید مهلت زمانی I/O را در خطمشی ServiceCallout بااستفاده از یکی از روشهای زیر پیکربندی کنید:
-
<Timeout>عنصر. -
io.timeout.millisدارایی.
عنصر مهلت
برای پیکربندی کردن زمان اتمام I/O در خطمشی ServiceCallout بااستفاده از عنصر <Timeout>
، مراحل زیر را انجام دهید:
- در «واسط کاربر Edge»، پراکسی API خاصی را که میخواهید در آن مقدار مهلت زمانی I/O جدید را برای خطمشی ServiceCallout پیکربندی کنید انتخاب کنید.
- خطمشی «تماس با خدمات» خاصی را که میخواهید تغییر دهید انتخاب کنید.
- عنصر
<Timeout>را با مقدار مناسب در پیکربندی<ServiceCallout>اضافه کنید.برای مثال، برای تغییر دادن زمان اتمام I/O به ۱۲۰ ثانیه، خط کد زیر را اضافه کنید:
<Timeout>120000</Timeout>
ازآنجاییکه عنصر
<Timeout>برحسب میلیثانیه است، مقدار ۱۲۰ ثانیه برابر با120000است.مثال زیر نحوه پیکربندی کردن زمان اتمام I/O را در خطمشی ServiceCallout بااستفاده از عنصر
<Timeout>نشان میدهد:پیکربندی خطمشی «برنمای تماس با سرویس» نمونه بااستفاده از نشانی وب برای سرور زیرینه
<ServiceCallout name="Service-Callout-1"> <DisplayName>ServiceCallout-1</DisplayName> <Timeout>120000</Timeout> <HTTPTargetConnection> <Properties/> <URL>https://mocktarget.apigee.net/json</URL> </HTTPTargetConnection> </ServiceCallout> - تغییرات ایجادشده در پراکسی API را ذخیره کنید.
دارایی io.timeout.millis
برای پیکربندی کردن زمان اتمام ورودی/خروجی در خطمشی ServiceCallout بااستفاده از
دارایی io.timeout.millis، مراحل زیر را انجام دهید:
- در «واسط کاربر Edge»، پراکسی API خاصی را که میخواهید در آن مقدار زمان انتظار ورودی/خروجی جدید را برای خطمشی ServiceCallout پیکربندی کنید انتخاب کنید.
- خطمشی «تماس با خدمات» خاصی را که میخواهید تغییر دهید انتخاب کنید.
- دارایی
io.timeout.millisرا با مقدار مناسب در عنصر<HTTPTargetConnection>در پیکربندی TargetEndpoint اضافه کنید.برای مثال، برای تغییر دادن زمان اتمام I/O به ۱۲۰ ثانیه، بلوک کد زیر را اضافه کنید: of code:
<Properties> <Property name="io.timeout.millis">120000</Property> </Properties>ازآنجاییکه دارایی
io.timeout.millisبرحسب میلیثانیه است، مقدار ۱۲۰ ثانیه برابر با120000است.نمونههای زیر نحوه پیکربندی زمان انتظار ورودی/خروجی را در پیکربندی نقطه پایانی هدف کارگزار پراکسی API نشان میدهد:
پیکربندی خطمشی «برنمای تماس با سرویس» نمونه بااستفاده از نشانی وب برای سرور زیرینه
<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> - تغییرات ایجادشده در پراکسی API را ذخیره کنید.
پیکربندی کردن زمان اتمام I/O در «پردازشگرهای پیام»
این بخش توضیح میدهد که چگونه مهلت زمانی ورودی/خروجی را در «پردازشگرهای پیام» پیکربندی کنید.
مهلت زمانی ورودی/خروجی را میتوان ازطریق دارایی 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
برای مثال، برای تغییر دادن زمان اتمام I/O در «پردازنده پیام» به ۱۲۰ ثانیه، خط زیر را اضافه کنید:
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
- اگر بیشاز یک «پردازشگر پیام» دارید، مراحل بالا را در همه «پردازشگرهای پیام» تکرار کنید.
درحال درستیسنجی کردن درنگ ورودی/خروجی در «پردازشگرهای پیام»
این بخش توضیح میدهد که چگونه تأیید کنید که زمان اتمام I/O در «پردازندههای پیام» باموفقیت اصلاح شده است.
اگرچه از کد 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 تماس بگیرید.
نتیجه نمونه از فرمان بالا پساز اینکه مهلت زمانی ورودی/خروجی را روی ۱۲۰ ثانیه پیکربندی کردید بهصورت زیر است:
/opt/apigee/edge-message-processor/conf/http.properties:HTTPTransport.io.timeout.millis=120000
در برونداد مثال بالا، توجه کنید که دارایی
HTTPTransport.io.timeout.millis با مقدار جدید 120000 در
http.properties تنظیم شده است. این نشان میدهد که زمان اتمام I/O باموفقیت روی «پردازنده پیام» روی ۱۲۰ ثانیه پیکربندی شده است.
گام بعدی چیست؟
درباره پیکربندی زمان اتمام ورودی/خروجی در «مسیریابها» بیشتر بدانید