ضبط مهلة انتهاء الصلاحية في "معالجات الرسائل"

يتم الآن عرض مستندات Apigee Edge.
انتقِل إلى مستندات Apigee X.
المعلومات

يشرح هذا المستند طريقة ضبط مهلة البقاء على قيد الحياة لمعالجات الرسائل في Apigee Edge.

تسمح مهلة البقاء على قيد الحياة في معالج الرسائل لاتصال TCP لإرسال وتلقّي عدة طلبات/استجابات HTTP من الخادم الخلفية، بدلاً من فتح اتصال جديد لكل زوج من الطلبات/الاستجابة.

إن القيمة التلقائية لخاصية مهلة "إبقاء الحالة" في "معالج الرسائل" هي 60 ثانية. تسري مدة المهلة هذه على الخوادم الخلفية التي تم ضبطها في إعداد نقطة النهاية المستهدفة وفي سياسة ServiceCallout الخاصة بالخادم الوكيل لواجهة برمجة التطبيقات.

يمكن زيادة مهلة الاحتفاظ بالبيانات لمعالجات الرسائل أو خفضها من القيمة التلقائية التي تبلغ 60 ثانية بناءً على احتياجاتك. ويمكن ضبطه بالطرق التالية:

  • في الخادم الوكيل لواجهة برمجة التطبيقات:
    • في نقطة النهاية الهدف
    • في سياسة ServiceCallout
  • في معالج الرسائل

تتحكم السمات التالية في مهلة البقاء على قيد الحياة في معالجات الرسائل:

اسم الموقع الموقع الجغرافي الوصف
keepalive.timeout.millis الخادم الوكيل لواجهة برمجة التطبيقات:
  • نقطة النهاية المستهدفة
  • سياسة ServiceCallout

هذا هو الحد الأقصى لوقت عدم النشاط الذي يسمح خلاله "معالج الرسائل" لاتصال TCP بإرسال العديد من طلبات/استجابات HTTP واستلامها، بدلاً من فتح اتصال جديد لكل زوج من الطلبات/الاستجابة.

تستخدم هذه السمة تلقائيًا القيمة المضبوطة للسمة HTTPClient.keepalive.timeout.millis في معالج الرسائل، حيث تكون القيمة التلقائية 60 ثانية.

في حال تعديل هذه السمة باستخدام قيمة مهلة جديدة للخادم الهدف المستخدَم في نقطة النهاية الهدف أو سياسة ServiceCallout في الخادم الوكيل المحدَّد لواجهة برمجة التطبيقات، ستتأثر مدة الاحتفاظ بالبيانات لهذا الخادم الهدف المحدَّد فقط.

HTTPClient.keepalive.timeout.millis معالج الرسائل

هذا هو الحد الأقصى لوقت عدم النشاط الذي يتيح "معالج الرسائل" خلاله لاتصال TCP واحد إرسال وتلقّي طلبات/استجابات HTTP متعددة، بدلاً من فتح اتصال جديد لكل زوج من الطلبات/الاستجابة.

يتم استخدام هذه الخاصية لجميع الخوادم الوكيلة لواجهة برمجة التطبيقات التي تعمل في معالج الرسائل هذا.

القيمة التلقائية لهذه السمة هي 60 ثانية.

يمكنك تعديل هذه السمة كما هو موضّح في ضبط مهلة الإبقاء على الحالة المباشرة في معالجات الرسائل أدناه، أو يمكنك استبدال هذه القيمة من خلال ضبط السمة keepalive.timeout.millis على مستوى الخادم الوكيل لواجهة برمجة التطبيقات.

قبل البدء

قبل استخدام الخطوات الواردة في هذا المستند، تأكَّد من فهم المواضيع التالية:

إعداد مهلة الإبقاء على الحالة المباشرة في الخادم الوكيل لواجهة برمجة التطبيقات

يمكن ضبط مهلة البقاء على قيد الحياة في الخادم الوكيل لواجهة برمجة التطبيقات في الأماكن التالية:

  • نقطة النهاية المستهدفة
  • سياسة ServiceCallout

إعداد مهلة الإبقاء على الحالة المباشرة في نقطة النهاية المستهدفة للخادم الوكيل لواجهة برمجة التطبيقات

يوضِّح هذا القسم كيفية إعداد مهلة "إبقاء الحالة نشطة" في نقطة النهاية المستهدفة للخادم الوكيل لواجهة برمجة التطبيقات. يمكن ضبط مهلة "إبقاء الحالة" قابلة للتعديل من خلال السمة keepalive.timeout.millis، التي تمثّل قيمة مهلة الاحتفاظ بالبيانات بالمللي ثانية.

  1. في واجهة مستخدم Edge، اختَر الخادم الوكيل لواجهة برمجة التطبيقات الذي تريد ضبط قيمة مهلة "الاحتفاظ به" الجديدة.
  2. اختَر نقطة النهاية المستهدَفة المحددة التي تريد تعديلها.
  3. أضِف السمة 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>
    
  4. احفظ التغييرات التي أجريتها على الخادم الوكيل لواجهة برمجة التطبيقات.

إعداد مهلة الإبقاء على جهة الاتصال في سياسة ServiceCallout الخاصة بالخادم الوكيل لواجهة برمجة التطبيقات

يوضّح هذا القسم كيفية ضبط مهلة البقاء على قيد الحياة في سياسة ServiceCallout للخادم الوكيل لواجهة برمجة التطبيقات. يمكن ضبط مهلة الاحتفاظ بالبيانات من خلال السمة the keepalive.timeout.millis التي تمثّل قيمة مهلة الإبقاء على الحالة بالمللي ثانية.

لإعداد مهلة "إبقاء الحالة" على قيد الحياة في سياسة ServiceCallout، وذلك باستخدام السمة keepalive.timeout.millis:

  1. في واجهة مستخدم Edge، اختَر الخادم الوكيل لواجهة برمجة التطبيقات الذي تريد ضبط قيمة مهلة الحفاظ على استمرارية النشاط الجديدة فيه لسياسة ServiceCallout.
  2. اختَر سياسة ServiceCallout المحدّدة التي تريد تعديلها.
  3. أضِف السمة 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>
    
  4. احفظ التغييرات التي أجريتها على الخادم الوكيل لواجهة برمجة التطبيقات.

إعداد مهلة الإبقاء على الحالة المباشرة في معالجات الرسائل

يوضح هذا القسم كيفية تهيئة مهلة البقاء على قيد الحياة في معالجات الرسائل. يمكن ضبط مهلة "إبقاء الحالة" على قيد الحياة من خلال السمة HTTPClient.keepalive.timeout.millis، التي تمثّل قيمة مهلة الحفاظ على قيد الحياة بالمللي ثانية في مكوّن "معالج الرسائل". بما أنّه يتم التعليق على هذه السمة في معالج الرسائل، عليك استخدام البنية الخاصة conf/http.properties+HTTPClient.keepalive.timeout.millis كما هو موضح في القسم ضبط رمز مميّز تم التعليق عليه حاليًا في كيفية إعداد Edge.

لإعداد مهلة البقاء على قيد الحياة في معالجات الرسائل، يمكنك إجراء ما يلي:

  1. على الجهاز الذي يعمل به معالج الرسائل، افتح الملف التالي في أحد المحرِّرين. إذا لم يكن موجودًا من قبل، يجب إنشاؤه.
    /opt/apigee/customer/application/message-processor.properties
    

    على سبيل المثال، لفتح الملف باستخدام vi، أدخِل ما يلي:

    vi /opt/apigee/customer/application/message-processor.properties
    
  2. أضِف سطرًا بالتنسيق التالي إلى ملف السمات، مع استبدال قيمة TIME_IN_MILLISECONDS:
    conf/http.properties+HTTPClient.keepalive.timeout.millis=TIME_IN_MILLISECONDS
    

    على سبيل المثال، لتغيير مهلة الاحتفاظ بالبيانات في معالج الرسائل إلى 30 ثانية، أضِف السطر التالي:

    conf/http.properties+HTTPClient.keepalive.timeout.millis=30000
    
  3. احفظ التغييرات.
  4. تأكَّد من أنّ ملف السمات يملكه مستخدم apigee كما هو موضّح أدناه:
    chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
    
  5. أعِد تشغيل معالج الرسائل كما هو موضَّح أدناه:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
    
  6. إذا كان لديك أكثر من معالج رسائل واحد، كرِّر الخطوات السابقة في كل معالِجات الرسائل.

التحقق من مهلة البقاء على قيد الحياة في معالجات الرسائل

يوضح هذا القسم كيفية التحقق من أن مهلة البقاء على قيد الحياة قد تم تعديلها بنجاح في معالجات الرسائل.

على الرغم من استخدام البنية الخاصة conf/http.properties+HTTPClient.keepalive.timeout.millis لضبط مهلة الاحتفاظ بالبيانات في معالج الرسائل، عليك التأكّد مما إذا كان قد تم ضبط القيمة الجديدة للسمة HTTPClient.keepalive.timeout.millis.

  1. في جهاز معالجة الرسائل، ابحث عن السمة HTTPClient.keepalive.timeout.millis في الدليل /opt/apigee/edge-message-processor/conf وتحقَّق لمعرفة ما إذا تم ضبطها باستخدام القيمة الجديدة كما هو موضّح أدناه:
    grep -ri "HTTPClient.keepalive.timeout.millis" /opt/apigee/edge-message-processor/conf
    
  2. إذا تم ضبط قيمة مهلة "إبقاء الحالة" الجديدة على قيد الحياة في معالج الرسائل، سيعرِض الأمر أعلاه القيمة الجديدة في ملف http.properties.

    في ما يلي نموذج النتيجة من الأمر الوارد أعلاه بعد ضبط مهلة الإبقاء على الحالة المباشرة على 30 ثانية:

    /opt/apigee/edge-message-processor/conf/http.properties:HTTPClient.keepalive.timeout.millis=30000
    

    في مثال الإخراج أعلاه، لاحظ أنّه قد تم ضبط السمة HTTPClient.keepalive.timeout.millis على القيمة الجديدة 30000 في http.properties. يشير هذا إلى أنّه تم بنجاح ضبط مهلة الاحتفاظ بالبيانات على 30 ثانية على معالج الرسائل.

  3. إذا كانت القيمة القديمة للسمة HTTPClient.keepalive.timeout.millis لا تزال تظهر لك، تأكَّد من أنّك قد اتّبعت جميع الخطوات الموضّحة في ضبط مهلة الإبقاء على جهة الاتصال في معالِجات الرسائل بشكلٍ صحيح. إذا فاتتك أي خطوة، كرِّر جميع الخطوات مرة أخرى بشكلٍ صحيح.
  4. إذا كنت لا تزال غير قادر على تعديل مهلة الاحتفاظ بالبيانات، يُرجى التواصل مع فريق دعم Apigee Edge في Google Cloud.