ضبط مهلة I/O على معالجات الرسائل

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

يوضّح هذا المستند كيفية ضبط مهلة الإدخال/الإخراج لمعالِجات الرسائل في Apigee Edge.

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

القيمة التلقائية لمهلة الإدخال/الإخراج في "معالج الرسائل" هي 55 seconds. تنطبق فترة المهلة هذه على خوادم الخلفية التي تم ضبطها في إعداد نقطة النهاية المستهدَفة وفي سياسة ServiceCallout الخاصة بخادم وكيل واجهة برمجة التطبيقات.

يمكن زيادة أو تقليل مهلة الإدخال/الإخراج الخاصة ببرامج معالجة الرسائل عن القيمة التلقائية البالغة 55 seconds استنادًا إلى احتياجاتك. يمكن ضبطه في الأماكن التالية:

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

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

اسم السمة الموقع الجغرافي الوصف
io.timeout.millis

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

  • نقطة النهاية المستهدَفة
  • سياسة وسائل الشرح الخاصة بالخدمة

هذا هو الحد الأقصى للوقت الذي ينفّذ فيه "معالج الرسائل" ما يلي:

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

إذا لم يتلقَّ "معالج الرسائل" أي استجابة من خادم الخلفية خلال فترة المهلة هذه، ستنتهي مهلة "معالج الرسائل".

تتلقّى هذه السمة تلقائيًا القيمة المضبوطة للسمة HTTPTransport.io.timeout.millis في "معالج الرسائل". القيمة التلقائية هي 55 seconds.

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

HTTPTransport.io.timeout.millis معالج الرسائل

هذا هو الحد الأقصى للوقت الذي ينفّذ فيه "معالج الرسائل" ما يلي:

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

إذا لم يتلقَّ "معالج الرسائل" أي استجابة من خادم الخلفية خلال فترة المهلة هذه، ستنتهي مهلة "معالج الرسائل".

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

القيمة التلقائية لهذه السمة هي 55 seconds.

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

قبل البدء

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

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

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

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

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

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

  1. في واجهة مستخدم Edge، اختَر خادم وكيل API معيّنًا تريد ضبط قيمة مهلة الإدخال/الإخراج الجديدة فيه.
  2. اختَر نقطة النهاية المستهدَفة المحدّدة التي تريد تعديلها.
  3. أضِف السمة io.timeout.millis مع قيمة مناسبة ضمن العنصر <HTTPTargetConnection> في إعداد TargetEndpoint.
  4. على سبيل المثال، لتغيير مهلة الإدخال/الإخراج إلى 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>
  5. احفظ التغييرات التي أجريتها على خادم وكيل واجهة برمجة التطبيقات.

ضبط مهلة الإدخال/الإخراج في سياسة ServiceCallout لخادم API الوكيل

يوضّح هذا القسم كيفية ضبط مهلة الإدخال/الإخراج في سياسة ServiceCallout لخادم وكيل API. يمكن ضبط مهلة الإدخال/الإخراج من خلال العنصر <Timeout> أو السمة io.timeout.millis. يمثّل كلّ من العنصر <Timeout> والسمة io.timeout.millis قيم مهلة الإدخال/الإخراج بالملي ثانية.

يمكنك ضبط مهلة الإدخال/الإخراج في سياسة ServiceCallout باستخدام إحدى الطرق التالية:

  • العنصر <Timeout>
  • io.timeout.millis موقع

عنصر المهلة

لضبط مهلة الإدخال/الإخراج في سياسة ServiceCallout باستخدام العنصر <Timeout>، اتّبِع الخطوات التالية:

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

السمة io.timeout.millis

لضبط مهلة الإدخال/الإخراج في سياسة ServiceCallout باستخدام السمة io.timeout.millis، اتّبِع الخطوات التالية:

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

ضبط مهلة الإدخال/الإخراج في "معالجات الرسائل"

يوضّح هذا القسم كيفية ضبط مهلة الإدخال/الإخراج في "معالجات الرسائل". يمكن ضبط مهلة الإدخال/الإخراج من خلال السمة HTTPTransport.io.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_HTTPTransport.io.timeout.millis=TIME_IN_MILLISECONDS

    على سبيل المثال، لتغيير مهلة الإدخال/الإخراج في &quot;معالج الرسائل&quot; إلى 120 ثانية، أضِف السطر التالي:

    conf_http_HTTPTransport.io.timeout.millis=120000
  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_HTTPTransport.io.timeout.millis لضبط مهلة الإدخال/الإخراج في "معالج الرسائل"، عليك التأكّد من ضبط السمة الفعلية HTTPTransport.io.timeout.millis بالقيمة الجديدة.

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

    /opt/apigee/edge-message-processor/conf/http.properties:HTTPTransport.io.timeout.millis=120000

    في مثال الناتج أعلاه، لاحظ أنّه تم ضبط السمة HTTPTransport.io.timeout.millis بالقيمة الجديدة 120000 في http.properties. يشير ذلك إلى أنّه تم ضبط مهلة الإدخال/الإخراج بنجاح على 120 ثانية في "معالج الرسائل".

  4. إذا كنت لا تزال ترى القيمة القديمة للسمة HTTPTransport.io.timeout.millis، تأكَّد من أنّك اتّبعت جميع الخطوات الموضّحة في إعداد مهلة الإدخال/الإخراج في معالجات الرسائل بشكلٍ صحيح. إذا فاتتك أي خطوة، كرِّر جميع الخطوات مرة أخرى بشكل صحيح.
  5. إذا لم تتمكّن من تعديل مهلة الإدخال/الإخراج، يُرجى التواصل مع فريق دعم Apigee Edge.

ما هي الخطوة التالية؟

مزيد من المعلومات حول ضبط مهلة الإدخال/الإخراج على أجهزة التوجيه