شما در حال مشاهده اسناد Apigee Edge هستید.
به مستندات Apigee X بروید . اطلاعات
این سند نحوه پیکربندی وقفه I/O را برای پردازشگرهای پیام Apigee Edge توضیح می دهد.
بازه زمانی ورودی/خروجی در پردازشگر پیام نشاندهنده زمانی است که پردازشگر پیام یا برای دریافت پاسخ از سرور پشتیبان یا برای آماده شدن سوکت برای نوشتن درخواست به سرور باطن، قبل از اتمام زمان، منتظر میماند.
مقدار پیشفرض زمان وقفه ورودی/خروجی پردازشگر پیام 55 seconds
است. این بازه زمانی برای سرورهای پشتیبان پیکربندی شده در پیکربندی نقطه پایانی هدف و در خط مشی ServiceCallout پروکسی API شما قابل اجرا است.
مهلت I/O برای پردازشگرهای پیام می تواند از مقدار پیش فرض 55 seconds
بر اساس نیاز شما افزایش یا کاهش یابد. می توان آن را در مکان های زیر پیکربندی کرد:
- در پروکسی API
- نقطه پایانی هدف
- خط مشی ServiceCallout
- روی پردازشگر پیام
ویژگی های زیر زمان I/O را در پردازشگرهای پیام کنترل می کنند:
نام ملک | مکان | توضیحات |
---|---|---|
io.timeout.millis | پروکسی API:
| این حداکثر زمانی است که پردازشگر پیام کارهای زیر را انجام می دهد:
اگر در این بازه زمانی هیچ پاسخی از سرور باطن دریافت نشد، زمان پردازش پیام به پایان می رسد. به طور پیش فرض، این ویژگی مقدار تنظیم شده برای ویژگی اگر این ویژگی با یک مقدار مهلت زمانی جدید برای یک پراکسی API خاص اصلاح شود، تنها آن پراکسی API تحت تأثیر قرار می گیرد. |
HTTPTransport.io.timeout.millis | پردازشگر پیام | این حداکثر زمانی است که پردازشگر پیام کارهای زیر را انجام می دهد:
اگر در این بازه زمانی هیچ پاسخی از سرور باطن دریافت نشد، زمان پردازش پیام به پایان می رسد. این ویژگی برای تمام پروکسی های API در حال اجرا در این پردازشگر پیام استفاده می شود. مقدار پیش فرض این ویژگی میتوانید این ویژگی را همانطور که در پیکربندی وقفه ورودی/خروجی در پردازشگرهای پیام توضیح داده شده است، تغییر دهید، یا میتوانید با تنظیم ویژگی |
قبل از شروع
قبل از استفاده از مراحل این سند، مطمئن شوید که موضوعات زیر را درک کرده اید:
- اگر با مهلت زمانی ورودی/خروجی آشنایی ندارید، به شرح ویژگی
io.timeout.millis
در TargetEndpoint Transport Property Specification مراجعه کنید. - اگر با پیکربندی ویژگیهای Edge برای Private Cloud آشنایی ندارید، نحوه پیکربندی Edge را بخوانید.
- اطمینان حاصل کنید که توصیههای موجود در بهترین شیوهها برای پیکربندی مهلت زمانی ورودی/خروجی را دنبال میکنید.
پیکربندی وقفه I/O در پراکسی API
زمان I/O را می توان در مکان های پراکسی API زیر پیکربندی کرد:
- نقطه پایانی هدف
- خط مشی ServiceCallout
پیکربندی وقفه ورودی/خروجی در نقطه پایانی هدف پروکسی API
این بخش نحوه پیکربندی وقفه I/O را در نقطه پایانی هدف پروکسی API خود توضیح می دهد. زمان I/O را می توان از طریق ویژگی io.timeout.millis
پیکربندی کرد که مقدار وقفه ورودی/خروجی را در میلی ثانیه نشان می دهد.
- در رابط کاربری Edge، پروکسی API خاصی را که میخواهید مقدار وقفه ورودی/خروجی جدید را در آن پیکربندی کنید، انتخاب کنید.
- نقطه پایانی هدف خاصی را که می خواهید تغییر دهید انتخاب کنید.
- ویژگی
io.timeout.millis
را با مقدار مناسب در زیر عنصر<HTTPTargetConnection>
در پیکربندیTargetEndpoint
اضافه کنید. - تغییرات ایجاد شده در پروکسی API خود را ذخیره کنید.
به عنوان مثال، برای تغییر زمان I/O به 120 ثانیه، بلوک کد زیر را اضافه کنید:
<Properties> <Property name="io.timeout.millis">120000</Property> </Properties>
از آنجایی که ویژگی io.timeout.millis
بر حسب میلی ثانیه است، مقدار 120 ثانیه 120000
است.
مثالهای زیر نحوه پیکربندی مهلت زمانی ورودی/خروجی را در پیکربندی نقطه پایانی پراکسی 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>
پیکربندی مهلت I/O در خط مشی ServiceCallout پروکسی API
این بخش نحوه پیکربندی مهلت زمانی I/O را در خط مشی ServiceCallout پروکسی API خود توضیح می دهد. زمان I/O را می توان از طریق عنصر <Timeout>
یا ویژگی io.timeout.millis
پیکربندی کرد. هر دو عنصر <Timeout>
و ویژگی io.timeout.millis
مقادیر وقفه ورودی/خروجی را در میلی ثانیه نشان می دهند.
با استفاده از یکی از روشهای زیر میتوانید مهلت زمانی ورودی/خروجی را در خطمشی ServiceCallout پیکربندی کنید:
- عنصر
<Timeout>
. - دارایی
io.timeout.millis
.
عنصر مهلت زمانی
برای پیکربندی مهلت زمانی I/O در خط مشی ServiceCallout با استفاده از عنصر <Timeout>
، موارد زیر را انجام دهید:
- در Edge UI، پراکسی 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>
- تغییرات ایجاد شده در پروکسی API خود را ذخیره کنید.
دارایی io.timeout.millis
برای پیکربندی زمان I/O در خط مشی ServiceCallout با استفاده از ویژگی io.timeout.millis
، موارد زیر را انجام دهید:
- در Edge UI، پراکسی API خاصی را انتخاب کنید که میخواهید مقدار وقفه ورودی/خروجی جدید را برای خط مشی ServiceCallout پیکربندی کنید.
- خط مشی ServiceCallout خاصی را که می خواهید تغییر دهید انتخاب کنید.
- ویژگی
io.timeout.millis
را با مقدار مناسب در زیر عنصر<HTTPTargetConnection>
در پیکربندی TargetEndpoint اضافه کنید.به عنوان مثال، برای تغییر زمان I/O به 120 ثانیه، بلوک کد زیر را اضافه کنید:
<Properties> <Property name="io.timeout.millis">120000</Property> </Properties>
از آنجایی که ویژگی
io.timeout.millis
بر حسب میلی ثانیه است، مقدار 120 ثانیه120000
است.مثالهای زیر نحوه پیکربندی مهلت زمانی ورودی/خروجی را در پیکربندی نقطه پایانی پراکسی 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>
مثال پیکربندی خط مشی 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
پیکربندی کرد، که مقدار وقفه ورودی/خروجی را بر حسب میلی ثانیه در مؤلفه Message Processor، با استفاده از توکن مطابق نحو توضیح داده شده در نحوه پیکربندی Edge نشان می دهد.
برای پیکربندی وقفه I/O در پردازشگرهای پیام، موارد زیر را انجام دهید:
- در دستگاه Message Processor، فایل زیر را در یک ویرایشگر باز کنید. اگر از قبل وجود ندارد، آن را ایجاد کنید.
/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 در پردازشگر پیام به 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
- اگر بیش از یک پردازشگر پیام دارید، مراحل بالا را در همه پردازشگرهای پیام تکرار کنید.
تأیید وقفه I/O در پردازشگرهای پیام
این بخش نحوه تأیید اینکه زمان I/O با موفقیت در پردازشگرهای پیام اصلاح شده است را توضیح می دهد.
حتی اگر از رمز conf_http_HTTPTransport.io.timeout.millis
برای تنظیم زمان I/O در پردازشگر پیام استفاده می کنید، باید بررسی کنید که آیا ویژگی واقعی HTTPTransport.io.timeout.millis
با مقدار جدید تنظیم شده است یا خیر.
- در دستگاه Message Processor، ویژگی
HTTPTransport.io.timeout.millis
را در پوشه/opt/apigee/edge-message-processor/conf
جستجو کنید و بررسی کنید که آیا مطابق شکل زیر با مقدار جدید تنظیم شده است یا خیر:grep -ri "HTTPTransport.io.timeout.millis" /opt/apigee/edge-message-processor/conf
- اگر مقدار جدید I/O timeout با موفقیت روی Message Processor تنظیم شود، دستور بالا مقدار جدید را در فایل
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
تنظیم شده است. این نشان می دهد که زمان I/O با موفقیت روی 120 ثانیه در پردازشگر پیام پیکربندی شده است.
بعدش چی؟
درباره پیکربندی وقفه ورودی/خروجی در روترها بیاموزید