أنت الآن بصدد الاطّلاع على مستندات Apigee Edge.
انتقِل إلى
مستندات Apigee X. info
يوضّح هذا المستند كيفية ضبط مهلة الإدخال/الإخراج لمعالِجات الرسائل في Apigee Edge.
يمثّل مهلة الإدخال/الإخراج في "معالج الرسائل" الوقت الذي ينتظره "معالج الرسائل" إما لتلقّي ردّ من خادم الخلفية أو ليكون المقبس جاهزًا لكتابة طلب إلى خادم الخلفية، وذلك قبل انتهاء المهلة.
القيمة التلقائية لمهلة الإدخال/الإخراج في "معالج الرسائل" هي 55 seconds. تنطبق فترة المهلة هذه على خوادم الخلفية التي تم ضبطها في إعداد نقطة النهاية المستهدَفة وفي سياسة ServiceCallout الخاصة بخادم وكيل واجهة برمجة التطبيقات.
يمكن زيادة أو تقليل مهلة الإدخال/الإخراج الخاصة ببرامج معالجة الرسائل عن القيمة التلقائية البالغة 55 seconds استنادًا إلى احتياجاتك. يمكن ضبطه في الأماكن التالية:
- في خادم وكيل لواجهة برمجة التطبيقات
- نقطة النهاية المستهدَفة
- سياسة ServiceCallout
- في "معالج الرسائل"
تتحكّم الخصائص التالية في مهلة الإدخال/الإخراج في "معالجات الرسائل":
| اسم السمة | الموقع الجغرافي | الوصف |
|---|---|---|
io.timeout.millis
|
الخادم الوكيل لواجهة برمجة التطبيقات:
|
هذا هو الحد الأقصى للوقت الذي ينفّذ فيه "معالج الرسائل" ما يلي:
إذا لم يتلقَّ "معالج الرسائل" أي استجابة من خادم الخلفية خلال فترة المهلة هذه، ستنتهي مهلة "معالج الرسائل".
تتلقّى هذه السمة تلقائيًا القيمة المضبوطة للسمة إذا تم تعديل هذه السمة باستخدام قيمة مهلة جديدة لخادم وكيل API معيّن، سيتأثر خادم وكيل API هذا فقط. |
HTTPTransport.io.timeout.millis
|
معالج الرسائل |
هذا هو الحد الأقصى للوقت الذي ينفّذ فيه "معالج الرسائل" ما يلي:
إذا لم يتلقَّ "معالج الرسائل" أي استجابة من خادم الخلفية خلال فترة المهلة هذه، ستنتهي مهلة "معالج الرسائل". يتم استخدام هذه السمة لجميع خوادم وكيل واجهة برمجة التطبيقات التي تعمل على "معالج الرسائل" هذا.
القيمة التلقائية لهذه السمة هي
يمكنك تعديل هذه السمة كما هو موضّح في
ضبط مهلة الإدخال/الإخراج في معالجات الرسائل، أو يمكنك
الكتابة فوق هذه القيمة من خلال ضبط السمة |
قبل البدء
قبل استخدام الخطوات الواردة في هذا المستند، تأكَّد من فهم المواضيع التالية:
- إذا لم تكن على دراية بمهلة انتهاء I/O، راجِع وصف السمة
io.timeout.millisفي مواصفات سمات النقل في TargetEndpoint. - إذا لم تكن على دراية بكيفية ضبط إعدادات Edge for Private Cloud، يمكنك الاطّلاع على كيفية ضبط إعدادات Edge.
- احرص على اتّباع الاقتراحات الواردة في أفضل الممارسات لإعداد مهلة الإدخال/الإخراج.
ضبط مهلة الإدخال/الإخراج في خادم وكيل لواجهة برمجة التطبيقات
يمكن ضبط مهلة الإدخال/الإخراج في المواضع التالية لخادم وكيل واجهة برمجة التطبيقات:
- نقطة النهاية المستهدَفة
- سياسة ServiceCallout
ضبط مهلة الإدخال/الإخراج في نقطة النهاية المستهدَفة لخادم وكيل واجهة برمجة التطبيقات
يوضّح هذا القسم كيفية ضبط مهلة الإدخال/الإخراج في نقطة النهاية المستهدَفة لخادم وكيل واجهة برمجة التطبيقات.
يمكن ضبط مهلة الإدخال/الإخراج من خلال السمة io.timeout.millis، التي تمثّل قيمة مهلة الإدخال/الإخراج بالملّي ثانية.
- في واجهة مستخدم Edge، اختَر خادم وكيل API معيّنًا تريد ضبط قيمة مهلة الإدخال/الإخراج الجديدة فيه.
- اختَر نقطة النهاية المستهدَفة المحدّدة التي تريد تعديلها.
- أضِف السمة
io.timeout.millisمع قيمة مناسبة ضمن العنصر<HTTPTargetConnection>في إعدادTargetEndpoint. - احفظ التغييرات التي أجريتها على خادم وكيل واجهة برمجة التطبيقات.
على سبيل المثال، لتغيير مهلة الإدخال/الإخراج إلى 120 ثانية، أضِف مجموعة الرموز التالية:
<Properties>
<Property name="io.timeout.millis">120000</Property>
</Properties>بما أنّ السمة io.timeout.millis تكون بالملّي ثانية، فإنّ قيمة 120 ثانية هي 120000.
توضّح الأمثلة التالية كيفية ضبط مهلة الإدخال/الإخراج في إعدادات نقطة النهاية المستهدَفة لخادم وكيل واجهة برمجة التطبيقات:
مثال على إعداد نقطة نهاية مستهدَفة باستخدام عنوان 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 لخادم API الوكيل
يوضّح هذا القسم كيفية ضبط مهلة الإدخال/الإخراج في سياسة ServiceCallout لخادم وكيل API. يمكن ضبط مهلة الإدخال/الإخراج من خلال العنصر <Timeout> أو السمة io.timeout.millis. يمثّل كلّ من العنصر <Timeout> والسمة io.timeout.millis قيم مهلة الإدخال/الإخراج بالملي ثانية.
يمكنك ضبط مهلة الإدخال/الإخراج في سياسة ServiceCallout باستخدام إحدى الطرق التالية:
- العنصر
<Timeout> io.timeout.millisموقع
عنصر المهلة
لضبط مهلة الإدخال/الإخراج في سياسة ServiceCallout باستخدام العنصر <Timeout>، اتّبِع الخطوات التالية:
- في واجهة مستخدم Edge، اختَر خادم وكيل API معيّنًا تريد ضبط قيمة المهلة الجديدة للإدخال/الإخراج فيه لسياسة 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> - احفظ التغييرات التي أجريتها على خادم وكيل واجهة برمجة التطبيقات.
السمة 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.توضّح الأمثلة التالية كيفية ضبط مهلة الإدخال/الإخراج في إعدادات نقطة النهاية المستهدَفة لخادم وكيل واجهة برمجة التطبيقات:
مثال على إعداد سياسة 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> - احفظ التغييرات التي أجريتها على خادم وكيل واجهة برمجة التطبيقات.
ضبط مهلة الإدخال/الإخراج في "معالجات الرسائل"
يوضّح هذا القسم كيفية ضبط مهلة الإدخال/الإخراج في "معالجات الرسائل".
يمكن ضبط مهلة الإدخال/الإخراج من خلال السمة 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 بالقيمة الجديدة.
- على جهاز Message Processor، ابحث عن السمة
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 ثانية في "معالج الرسائل".
ما هي الخطوة التالية؟
مزيد من المعلومات حول ضبط مهلة الإدخال/الإخراج على أجهزة التوجيه