يتم الآن عرض مستندات Apigee Edge.
انتقِل إلى مستندات
Apigee X. المعلومات
يشرح هذا المستند طريقة ضبط مهلة البقاء على قيد الحياة لمعالجات الرسائل في Apigee Edge.
تسمح مهلة البقاء على قيد الحياة في معالج الرسائل لاتصال TCP لإرسال وتلقّي عدة طلبات/استجابات HTTP من الخادم الخلفية، بدلاً من فتح اتصال جديد لكل زوج من الطلبات/الاستجابة.
إن القيمة التلقائية لخاصية مهلة "إبقاء الحالة" في "معالج الرسائل" هي
60
ثانية. تسري مدة المهلة هذه على الخوادم الخلفية التي تم ضبطها
في إعداد نقطة النهاية المستهدفة وفي سياسة ServiceCallout
الخاصة بالخادم الوكيل لواجهة برمجة التطبيقات.
يمكن زيادة مهلة الاحتفاظ بالبيانات لمعالجات الرسائل أو خفضها من القيمة التلقائية التي تبلغ 60
ثانية بناءً على احتياجاتك. ويمكن ضبطه بالطرق التالية:
- في الخادم الوكيل لواجهة برمجة التطبيقات:
- في نقطة النهاية الهدف
- في سياسة
ServiceCallout
- في معالج الرسائل
تتحكم السمات التالية في مهلة البقاء على قيد الحياة في معالجات الرسائل:
اسم الموقع | الموقع الجغرافي | الوصف |
---|---|---|
keepalive.timeout.millis |
الخادم الوكيل لواجهة برمجة التطبيقات:
|
هذا هو الحد الأقصى لوقت عدم النشاط الذي يسمح خلاله "معالج الرسائل" لاتصال TCP بإرسال العديد من طلبات/استجابات HTTP واستلامها، بدلاً من فتح اتصال جديد لكل زوج من الطلبات/الاستجابة. تستخدم هذه السمة تلقائيًا القيمة المضبوطة للسمة في حال تعديل هذه السمة باستخدام قيمة مهلة جديدة للخادم الهدف المستخدَم في
نقطة النهاية الهدف أو سياسة |
HTTPClient.keepalive.timeout.millis |
معالج الرسائل |
هذا هو الحد الأقصى لوقت عدم النشاط الذي يتيح "معالج الرسائل" خلاله لاتصال TCP واحد إرسال وتلقّي طلبات/استجابات HTTP متعددة، بدلاً من فتح اتصال جديد لكل زوج من الطلبات/الاستجابة. يتم استخدام هذه الخاصية لجميع الخوادم الوكيلة لواجهة برمجة التطبيقات التي تعمل في معالج الرسائل هذا. القيمة التلقائية لهذه السمة هي يمكنك تعديل هذه السمة كما هو موضّح في
ضبط مهلة الإبقاء على الحالة المباشرة في معالجات الرسائل
أدناه، أو يمكنك استبدال هذه القيمة من خلال ضبط السمة |
قبل البدء
قبل استخدام الخطوات الواردة في هذا المستند، تأكَّد من فهم المواضيع التالية:
- إذا لم تكن على دراية بمهلة البقاء على قيد الحياة، اطّلِع على وصف
السمة
keepalive.timeout.millis
في مواصفات سمة TargetEndpoint Transport Property Specification. - إذا لم تكن على دراية بكيفية ضبط خصائص Edge على "السحابة الإلكترونية الخاصة"، يُرجى الاطّلاع على كيفية إعداد Edge.
إعداد مهلة الإبقاء على الحالة المباشرة في الخادم الوكيل لواجهة برمجة التطبيقات
يمكن ضبط مهلة البقاء على قيد الحياة في الخادم الوكيل لواجهة برمجة التطبيقات في الأماكن التالية:
- نقطة النهاية المستهدفة
- سياسة
ServiceCallout
إعداد مهلة الإبقاء على الحالة المباشرة في نقطة النهاية المستهدفة للخادم الوكيل لواجهة برمجة التطبيقات
يوضِّح هذا القسم كيفية إعداد مهلة "إبقاء الحالة نشطة" في نقطة النهاية المستهدفة للخادم الوكيل لواجهة برمجة التطبيقات. يمكن ضبط مهلة "إبقاء الحالة" قابلة للتعديل من خلال السمة
keepalive.timeout.millis
، التي تمثّل قيمة مهلة الاحتفاظ بالبيانات بالمللي ثانية.
- في واجهة مستخدم Edge، اختَر الخادم الوكيل لواجهة برمجة التطبيقات الذي تريد ضبط قيمة مهلة "الاحتفاظ به" الجديدة.
- اختَر نقطة النهاية المستهدَفة المحددة التي تريد تعديلها.
-
أضِف السمة
keepalive.timeout.millis
مع تحديد قيمة مناسبة ضمن العنصر<HTTPTargetConnection>
في إعداداتTargetEndpoint
.على سبيل المثال، لتغيير مهلة الاحتفاظ بالبيانات إلى
30
ثانية، أضِف الجزء التالي من الرمز:<Properties> <Property name="keepalive.timeout.millis">30000</Property> </Properties>
بما أنّ السمة
keepalive.timeout.millis
بالمللي ثانية، تكون قيمة30
الثانية30000
.توضّح الأمثلة التالية كيفية ضبط مهلة البقاء على قيد الحياة من خلال إعداد نقطة النهاية المستهدفة للخادم الوكيل لواجهة برمجة التطبيقات:
مثال على إعداد نقطة النهاية المستهدفة باستخدام عنوان URL لخادم الخلفية
<TargetEndpoint name="default"> <HTTPTargetConnection> <URL>https://mocktarget.apigee.net/json</URL> <Properties> <Property name="keepalive.timeout.millis">30000</Property> </Properties> </HTTPTargetConnection> </TargetEndpoint>
مثال على ضبط نقطة النهاية المستهدفة باستخدام الخادم الهدف
<TargetEndpoint name="default"> <HTTPTargetConnection> <LoadBalancer> <Server name="target1" /> <Server name="target2" /> </LoadBalancer> <Properties> <Property name="keepalive.timeout.millis">30000</Property> </Properties> <Path>/test</Path> </HTTPTargetConnection> </TargetEndpoint>
- احفظ التغييرات التي أجريتها على الخادم الوكيل لواجهة برمجة التطبيقات.
إعداد مهلة الإبقاء على جهة الاتصال في سياسة ServiceCallout الخاصة بالخادم الوكيل لواجهة برمجة التطبيقات
يوضّح هذا القسم كيفية ضبط مهلة البقاء على قيد الحياة في سياسة ServiceCallout
للخادم الوكيل لواجهة برمجة التطبيقات. يمكن ضبط مهلة الاحتفاظ بالبيانات
من خلال السمة the keepalive.timeout.millis
التي تمثّل
قيمة مهلة الإبقاء على الحالة بالمللي ثانية.
لإعداد مهلة "إبقاء الحالة" على قيد الحياة في سياسة ServiceCallout
، وذلك باستخدام
السمة keepalive.timeout.millis
:
- في واجهة مستخدم Edge، اختَر الخادم الوكيل لواجهة برمجة التطبيقات الذي تريد ضبط قيمة مهلة الحفاظ على استمرارية النشاط الجديدة فيه لسياسة
ServiceCallout
. - اختَر سياسة
ServiceCallout
المحدّدة التي تريد تعديلها. - أضِف السمة
keepalive.timeout.millis
باستخدام قيمة مناسبة ضمن العنصر<HTTPTargetConnection>
في إعداداتTargetEndpoint
.على سبيل المثال، لتغيير مهلة الاحتفاظ بالبيانات لمدة
30
ثانية، أضِف المجموعة التالية من الرموز:<Properties> <Property name="keepalive.timeout.millis">30000</Property> </Properties>
بما أنّ السمة
keepalive.timeout.millis
بالمللي ثانية، تكون قيمة30
الثانية30000
.توضّح الأمثلة التالية كيفية ضبط مهلة الاحتفاظ بالبيانات في سياسة
ServiceCallout
للخادم الوكيل لواجهة برمجة التطبيقات:مثال على ضبط سياسة ServiceCallout باستخدام عنوان URL لخادم الخلفية
<ServiceCallout name="Service-Callout-1"> <DisplayName>Service Callout-1</DisplayName> <HTTPTargetConnection> <Properties> <Property name="keepalive.timeout.millis">30000</Property> </Properties> <URL>https://mocktarget.apigee.net/json</URL> </HTTPTargetConnection> </ServiceCallout>
مثال على ضبط سياسة ServiceCallout باستخدام الخادم الهدف
<ServiceCallout enabled="true" name="Service-Callout-1"> <DisplayName>Service Callout-1</DisplayName> <Response>calloutResponse</Response> <HTTPTargetConnection> <LoadBalancer> <Server name="target1" /> <Server name="target2" /> </LoadBalancer> <Properties> <Property name="keepalive.timeout.millis">30000</Property> </Properties> <Path>/test</Path> </HTTPTargetConnection> </ServiceCallout>
- احفظ التغييرات التي أجريتها على الخادم الوكيل لواجهة برمجة التطبيقات.
إعداد مهلة الإبقاء على الحالة المباشرة في معالجات الرسائل
يوضح هذا القسم كيفية تهيئة مهلة البقاء على قيد الحياة في معالجات الرسائل. يمكن ضبط مهلة "إبقاء الحالة" على قيد الحياة من خلال السمة HTTPClient.keepalive.timeout.millis
، التي تمثّل قيمة مهلة الحفاظ على قيد الحياة بالمللي ثانية في مكوّن "معالج الرسائل". بما أنّه يتم التعليق على هذه السمة في معالج الرسائل، عليك استخدام البنية الخاصة conf/http.properties+HTTPClient.keepalive.timeout.millis
كما هو موضح في القسم
ضبط رمز مميّز تم التعليق عليه حاليًا في كيفية إعداد Edge.
لإعداد مهلة البقاء على قيد الحياة في معالجات الرسائل، يمكنك إجراء ما يلي:
- على الجهاز الذي يعمل به معالج الرسائل، افتح الملف التالي في أحد المحرِّرين. إذا لم يكن موجودًا من قبل، يجب إنشاؤه.
/opt/apigee/customer/application/message-processor.properties
على سبيل المثال، لفتح الملف باستخدام
vi
، أدخِل ما يلي:vi /opt/apigee/customer/application/message-processor.properties
- أضِف سطرًا بالتنسيق التالي إلى ملف السمات، مع استبدال قيمة
TIME_IN_MILLISECONDS:
conf/http.properties+HTTPClient.keepalive.timeout.millis=TIME_IN_MILLISECONDS
على سبيل المثال، لتغيير مهلة الاحتفاظ بالبيانات في معالج الرسائل إلى
30
ثانية، أضِف السطر التالي:conf/http.properties+HTTPClient.keepalive.timeout.millis=30000
- احفظ التغييرات.
- تأكَّد من أنّ ملف السمات يملكه مستخدم
apigee
كما هو موضّح أدناه:chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
- أعِد تشغيل معالج الرسائل كما هو موضَّح أدناه:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
- إذا كان لديك أكثر من معالج رسائل واحد، كرِّر الخطوات السابقة في كل معالِجات الرسائل.
التحقق من مهلة البقاء على قيد الحياة في معالجات الرسائل
يوضح هذا القسم كيفية التحقق من أن مهلة البقاء على قيد الحياة قد تم تعديلها بنجاح في معالجات الرسائل.
على الرغم من استخدام البنية الخاصة conf/http.properties+HTTPClient.keepalive.timeout.millis
لضبط مهلة الاحتفاظ بالبيانات في معالج الرسائل، عليك التأكّد مما إذا كان قد تم ضبط القيمة الجديدة للسمة HTTPClient.keepalive.timeout.millis
.
- في جهاز معالجة الرسائل، ابحث عن السمة
HTTPClient.keepalive.timeout.millis
في الدليل/opt/apigee/edge-message-processor/conf
وتحقَّق لمعرفة ما إذا تم ضبطها باستخدام القيمة الجديدة كما هو موضّح أدناه:grep -ri "HTTPClient.keepalive.timeout.millis" /opt/apigee/edge-message-processor/conf
-
إذا تم ضبط قيمة مهلة "إبقاء الحالة" الجديدة على قيد الحياة في معالج الرسائل، سيعرِض الأمر أعلاه القيمة الجديدة في ملف
http.properties
.في ما يلي نموذج النتيجة من الأمر الوارد أعلاه بعد ضبط مهلة الإبقاء على الحالة المباشرة على
30
ثانية:/opt/apigee/edge-message-processor/conf/http.properties:HTTPClient.keepalive.timeout.millis=30000
في مثال الإخراج أعلاه، لاحظ أنّه قد تم ضبط السمة
HTTPClient.keepalive.timeout.millis
على القيمة الجديدة30000
فيhttp.properties
. يشير هذا إلى أنّه تم بنجاح ضبط مهلة الاحتفاظ بالبيانات على30
ثانية على معالج الرسائل. - إذا كانت القيمة القديمة للسمة
HTTPClient.keepalive.timeout.millis
لا تزال تظهر لك، تأكَّد من أنّك قد اتّبعت جميع الخطوات الموضّحة في ضبط مهلة الإبقاء على جهة الاتصال في معالِجات الرسائل بشكلٍ صحيح. إذا فاتتك أي خطوة، كرِّر جميع الخطوات مرة أخرى بشكلٍ صحيح. - إذا كنت لا تزال غير قادر على تعديل مهلة الاحتفاظ بالبيانات، يُرجى التواصل مع فريق دعم Apigee Edge في Google Cloud.