أفضل الممارسات لضبط مهلة I/O

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

إنّ طلبات البيانات من واجهة برمجة التطبيقات التي ترسلها تطبيقات العميل تتدفق من خلال مكونات مختلفة في Apigee Edge قبل أن تصل إلى خدمات الواجهة الخلفية. وتتوقّع معظم تطبيقات العملاء أن نتلقّى الردود على هذه الطلبات في الوقت المناسب.

ولتحقيق الاستجابات في الوقت المناسب، يتم ضبط قيم مهلة وحدات الإدخال والإخراج في كل مكوّن من المكوّنات التي تتدفق من خلالها طلبات واجهة برمجة التطبيقات. إذا استغرق أي من المكوّنات في التدفق وقتًا أطول من المكوِّن السابق، تنتهي مهلة المكوِّن السابق ويستجيب مرة أخرى مع ظهور أخطاء 504 لانتهاء مهلة المدخل.

أثناء ضبط المهلة، يجب ضبط القيم في كل مكوِّن من المكوّنات بعناية شديدة، وإلا قد يؤدي ذلك إلى أخطاء "504 انتهاء مهلة البوابة".

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

أفضل الممارسات لضبط مهلة وحدات الإدخال والإخراج

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

  • المكوِّن الأول: استخدِم دائمًا أعلى مهلة للمكون الأول في تدفق طلب واجهة برمجة التطبيقات، وهو تطبيق العميل في Apigee Edge.
  • المكوِّن الأخير: استخدِم دائمًا أدنى مهلة على المكون الأخير في تدفق طلب واجهة برمجة التطبيقات، وهو "خدمة الخلفية" في Apigee Edge.
  • بين المكوّنات: تأكّد من أنّ هناك فرقًا لا يقل عن ثانيتين أو 3 ثوانٍ في قيمة المهلة التي تم ضبطها في كل مكوّن بين المكوِّن الأول والمكوِّن الأخير في التدفق.
  • جهاز التوجيه: من الممارسات الجيدة دائمًا ضبط (تعديل) قيمة مهلة وحدات الإدخال والإخراج لمضيف افتراضي محدّد بدلاً من إعدادها على جهاز التوجيه. ويضمن ذلك أن تؤثر قيمة المهلة الجديدة فقط في الخوادم الوكيلة لواجهة برمجة التطبيقات التي تستخدم المضيف الافتراضي المحدد وليس في جميع الخوادم الوكيلة لواجهة برمجة التطبيقات التي يعرضها جهاز التوجيه.

    يمكنك ضبط (تعديل) مهلة وحدات الإدخال والإخراج على جهاز التوجيه فقط في حال التأكّد تمامًا من أنّ قيمة مهلة وحدات الإدخال والإخراج الجديدة مطلوبة أو منطبقة على جميع الأجهزة الوكيلة لواجهة برمجة التطبيقات التي تعمل على جهاز التوجيه.

  • معالِج الرسائل: من الممارسات الجيدة دائمًا ضبط (تعديل) قيمة مهلة وحدات الإدخال والإخراج لخادم وكيل محدد لواجهة برمجة التطبيقات بدلاً من إعدادها في معالج الرسائل. يضمن هذا الإجراء أنّ قيمة المهلة الجديدة تؤثر فقط في الخادم الوكيل لواجهة برمجة التطبيقات، وليس في جميع الخوادم الوكيلة لواجهة برمجة التطبيقات التي يعرضها معالج الرسائل.

    يجب ضبط (تعديل) مهلة وحدات الإدخال والإخراج على "معالج الرسائل" فقط في حال كنت متأكّدًا تمامًا من أنّ قيمة مهلة وحدات الإدخال والإخراج الجديدة مطلوبة أو سارية على جميع الأجهزة الوكيلة لواجهة برمجة التطبيقات التي تعمل على "معالج الرسائل".

أمثلة على السيناريوهات

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

السيناريو 1: الطلبات إلى Apigee Edge من تطبيقات العميل مباشرةً

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

نموذج لإعداد Apigee بدون مكوّنات وسيطة

يبدأ التدفق من العميل وينتقل إلى جهاز التوجيه ثم إلى معالج الرسائل ثم إلى خادم الخلفية.

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

  1. تطبيق العميل هو المكون الأول في التدفق. يجب ضبط قيمة أعلى مهلة على العميل.
  2. خادم الخلفية هو المكوِّن الأخير في التدفق. يجب ضبط قيمة أدنى مهلة على خادم الخلفية.
  3. اضبط قيم المهلة في كل مكون من المكوِّنات بالترتيب التالي:

    إعداد المهلة على العميل، ثم جهاز التوجيه، ثم معالج الرسائل، ثم خادم الخلفية

    يعرض المثال التالي قيم المهلة التي تم ضبطها على المكوّنات المختلفة وفقًا للإرشادات الواردة أعلاه لتجنُّب حدوث أي مشاكل:

    ضبط المهلة على العميل على 60 ثانية، ثم إعداد جهاز التوجيه في الثانية 57، ثم ضبط معالج الرسائل في 55 ثانية، ثم ضبط خادم الخلفية في الثانية على 52 ثانية

السيناريو 2: طلبات الانتقال إلى Apigee Edge من تطبيقات العميل عبر المكونات الوسيطة

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

ويمكن أن تكون المكونات الوسيطة جهاز موازنة الحمل وشبكة توصيل المحتوى (CDN) وNGINX وما إلى ذلك.

نموذج لإعداد Apigee يتضمن مكونًا وسيطًا واحدًا بين Client وApigee Edge وبين خادم Apigee Edge وخادم الخلفية

يبدأ التدفق من العميل وينتقل إلى المكون المتوسط 1 ثم إلى جهاز التوجيه ثم إلى معالج الرسائل ثم إلى المكون المتوسط 2 ثم إلى خادم الخلفية

إذا تم إعداد Apigee Edge كما هو موضّح في الرسم البياني أعلاه، باستخدام مكوّن متوسط واحد أو أكثر، استخدِم أفضل الممارسات التالية:

  1. تطبيق العميل هو المكون الأول في التدفق. يجب تعيين أعلى مهلة في العميل.
  2. خادم الخلفية هو المكوِّن الأخير في التدفق. يجب ضبط أدنى مهلة على خادم الخلفية.
  3. اضبط قيم المهلة على كل مكون من المكونات، بما في ذلك المكونات الوسيطة، بالترتيب التالي:

    قم بتهيئة المهلة على العميل، ثم المكون المتوسط 1، ثم جهاز التوجيه، ثم معالج الرسائل، ثم المكون المتوسط 2، ثم خادم الخلفية

    يعرض المثال التالي قيم المهلة التي تم ضبطها على المكوّنات المختلفة وفقًا للإرشادات الواردة أعلاه لتجنُّب حدوث أي مشاكل:

    قم بتهيئة المهلة على العميل عند 63 ثانية، ثم المكون المتوسط 1 في 60 ثانية، ثم جهاز التوجيه في الثانية 57، ثم لمعالج الرسائل 55 ثانية، ثم المكون المتوسط 2 في 52 ثانية، ثم خادم الخلفية في الثانية 59