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

أنت الآن بصدد الاطّلاع على مستندات Apigee Edge.
انتقِل إلى مستندات Apigee X.
info

يوضّح هذا المستند كيفية ضبط مهلة الاتصال لـ "معالجات الرسائل" في Apigee Edge.

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

يمكن زيادة أو تقليل مهلة الاتصال الخاصة بـ "معالجات الرسائل" عن القيمة التلقائية البالغة 3 ثانية استنادًا إلى احتياجاتك. يمكن ضبطه بالطرق التالية:

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

تتحكّم الخصائص التالية في مهلة الاتصال في "معالجات الرسائل":

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

هذا هو الحد الأقصى للوقت الذي ينتظره "معالج الرسائل" للاتصال بالخادم المستهدف.

تتلقّى هذه السمة تلقائيًا القيمة المضبوطة للسمة HTTPClient.connect.timeout.millis في "معالج الرسائل"، حيث تكون القيمة التلقائية 3 ثانية.

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

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

هذا هو الحد الأقصى للوقت الذي ينتظره "معالج الرسائل" للاتصال بالخادم المستهدف.

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

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

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

قبل البدء

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

  • إذا لم تكن على دراية بمهلة انتهاء الاتصال، يمكنك الاطّلاع على وصف السمة connect.timeout.millis في مواصفات سمات النقل في TargetEndpoint.
  • إذا لم تكن على دراية بكيفية ضبط الخصائص في Edge على السحابة الخاصة، يمكنك الاطّلاع على كيفية ضبط Edge.

ضبط مهلة الاتصال في خادم وكيل لواجهة برمجة التطبيقات

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

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

ضبط مهلة الاتصال في نقطة النهاية المستهدَفة لخادم وكيل واجهة برمجة التطبيقات

يوضّح هذا القسم كيفية ضبط مهلة الاتصال في نقطة النهاية المستهدَفة لخادم وكيل واجهة برمجة التطبيقات. يمكن ضبط مهلة الاتصال من خلال السمة connect.timeout.millis، التي تمثّل قيمة مهلة الاتصال بالملّي ثانية.

  1. في واجهة مستخدم Edge، اختَر خادم وكيل API معيّنًا تريد ضبط قيمة مهلة الاتصال الجديدة فيه.
  2. اختَر نقطة النهاية المستهدَفة المحدّدة التي تريد تعديلها.
  3. أضِف السمة connect.timeout.millis مع قيمة مناسبة ضمن العنصر <HTTPTargetConnection> في إعداد TargetEndpoint.

    على سبيل المثال، لتغيير مهلة الاتصال إلى 5 ثانية، أضِف مجموعة الرموز التالية:

    <Properties>
      <Property name="connect.timeout.millis">5000</Property>
    </Properties>

    بما أنّ السمة connect.timeout.millis معروضة بالملي ثانية، فإنّ قيمة 5 ثانية هي 5000.

    توضّح الأمثلة التالية كيفية ضبط مهلة الاتصال في إعدادات نقطة النهاية المستهدَفة لخادم API الوكيل:

    مثال على إعداد نقطة نهاية مستهدَفة باستخدام عنوان URL لخادم الخلفية

    <TargetEndpoint name="default">
      <HTTPTargetConnection>
        <URL>https://mocktarget.apigee.net/json</URL>
        <Properties>
          <Property name="connect.timeout.millis">5000</Property>
        </Properties>
      </HTTPTargetConnection>
    </TargetEndpoint>

    مثال على إعداد نقطة النهاية المستهدَفة باستخدام الخادم المستهدَف

    <TargetEndpoint name="default">
      <HTTPTargetConnection>
        <LoadBalancer>
          <Server name="target1" />
          <Server name="target2" />
        </LoadBalancer>
        <Properties>
          <Property name="connect.timeout.millis">5000</Property>
        </Properties>
        <Path>/test</Path>
      </HTTPTargetConnection>
    </TargetEndpoint>
  4. احفظ التغييرات التي أجريتها على خادم وكيل واجهة برمجة التطبيقات.

ضبط مهلة الاتصال في سياسة ServiceCallout لخادم API الوكيل

يوضّح هذا القسم كيفية ضبط مهلة انتهاء الاتصال في سياسة ServiceCallout لخادم وكيل واجهة برمجة التطبيقات. يمكن ضبط مهلة الاتصال من خلال السمة connect.timeout.millis، التي تمثّل قيمة وقت الاتصال بالملّي ثانية.

لضبط مهلة الاتصال في سياسة ServiceCallout باستخدام السمة connect.timeout.millis، اتّبِع الخطوات التالية:

  1. في واجهة مستخدم Edge، اختَر خادم وكيل API معيّنًا تريد ضبط قيمة مهلة الاتصال الجديدة فيه لسياسة ServiceCallout.
  2. اختَر سياسة ServiceCallout المحدّدة التي تريد تعديلها.
  3. أضِف السمة connect.timeout.millis مع قيمة مناسبة ضمن العنصر <HTTPTargetConnection> في إعداد TargetEndpoint.

    على سبيل المثال، لتغيير مهلة الاتصال إلى 5 ثانية، أضِف مجموعة الرموز التالية:

    <Properties>
      <Property name="connect.timeout.millis">5000</Property>
    </Properties>

    بما أنّ السمة connect.timeout.millis معروضة بالملي ثانية، فإنّ قيمة 5 ثانية هي 5000.

    توضّح الأمثلة التالية كيفية ضبط مهلة الاتصال في سياسة ServiceCallout لخادم وكيل واجهة برمجة التطبيقات:

    مثال على إعداد سياسة ServiceCallout باستخدام عنوان URL لخادم الخلفية

    <ServiceCallout name="Service-Callout-1">
      <DisplayName>Service Callout-1</DisplayName>
      <HTTPTargetConnection>
        <Properties>
          <Property name="connect.timeout.millis">5000</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="connect.timeout.millis">5000</Property>
        </Properties>
      <Path>/test</Path>
      </HTTPTargetConnection>
    </ServiceCallout>
  4. احفظ التغييرات التي أجريتها على خادم وكيل واجهة برمجة التطبيقات.

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

يوضّح هذا القسم كيفية ضبط مهلة الاتصال في "معالجات الرسائل". يمكن ضبط مهلة الاتصال من خلال السمة conf_http_HTTPClient.connect.timeout.millis، التي تمثّل قيمة مهلة الاتصال بالملّي ثانية في مكوّن &quot;معالج الرسائل&quot;، وذلك باستخدام الرمز المميز وفقًا للصيغة الموضّحة في كيفية ضبط Edge.

لضبط مهلة الاتصال في "معالجات الرسائل"، اتّبِع الخطوات التالية:

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

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

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

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

    conf_http_HTTPClient.connect.timeout.millis=5000
  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. إذا كان لديك أكثر من "معالج رسائل" واحد، كرِّر الخطوات أعلاه على جميع "معالجات الرسائل".

التحقّق من مهلة الاتصال في "معالجات الرسائل"

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

على الرغم من استخدام الرمز المميّز conf_http_HTTPClient.connect.timeout.millis لضبط مهلة الاتصال في &quot;معالج الرسائل&quot;، عليك التأكّد من ضبط السمة الفعلية HTTPClient.connect.timeout.millis بالقيمة الجديدة.

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

    في ما يلي نموذج للنتيجة من الأمر أعلاه بعد ضبط مهلة الاتصال على 5 ثانية:

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

    في مثال الناتج أعلاه، لاحظ أنّه تم ضبط السمة HTTPClient.connect.timeout.millis بالقيمة الجديدة 5000 في http.properties. يشير ذلك إلى أنّه تم ضبط مهلة الاتصال بنجاح على 5 ثانية في &quot;معالج الرسائل&quot;.

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