بهترین روش ها برای پیکربندی وقفه ورودی/خروجی

شما در حال مشاهده اسناد Apigee Edge هستید.
به مستندات Apigee X بروید .
اطلاعات

درخواست‌های API که توسط برنامه‌های کلاینت ارائه می‌شوند، قبل از رسیدن به خدمات باطن، از طریق اجزای مختلف در Apigee Edge جریان می‌یابند. اکثر برنامه های کاربردی مشتری انتظار دارند که پاسخ به این درخواست ها به موقع دریافت شود.

برای دستیابی به پاسخ‌های به موقع، مقادیر وقفه ورودی/خروجی در هر یک از مؤلفه‌هایی که درخواست‌های API از طریق آنها جریان می‌یابد، تنظیم می‌شوند. اگر هر یک از مؤلفه‌های جریان بیشتر از مؤلفه قبلی طول بکشد، زمان مؤلفه قبلی تمام می‌شود و با خطاهای 504 Gateway Timeout پاسخ می‌دهد.

هنگام پیکربندی مهلت زمانی، مقادیر باید در هر یک از مؤلفه ها با نهایت دقت پیکربندی شوند، در غیر این صورت می تواند منجر به خطاهای 504 Gateway Timeout شود.

این سند بهترین روش‌ها را برای پیکربندی وقفه ورودی/خروجی در مؤلفه‌های مختلفی که درخواست‌های API از طریق آن‌ها در Apigee Edge جریان می‌یابد، شرح می‌دهد.

بهترین روش ها برای پیکربندی وقفه ورودی/خروجی

هنگام پیکربندی مهلت I/O، بهترین روش های زیر را در نظر بگیرید:

  • مؤلفه اول: همیشه از بالاترین زمان در اولین مؤلفه در جریان درخواست API استفاده کنید، که برنامه Client در Apigee Edge است.
  • آخرین مؤلفه: همیشه از کمترین زمان در آخرین مؤلفه در جریان درخواست API، که سرویس Backend در Apigee Edge است، استفاده کنید.
  • بین مؤلفه ها: اطمینان حاصل کنید که حداقل 2-3 ثانیه در مقدار زمان تنظیم شده در هر مؤلفه بین اولین مؤلفه و آخرین مؤلفه در جریان اختلاف وجود دارد.
  • روتر: همیشه یک تمرین خوب برای پیکربندی (تغییر) مقدار زمان I/O برای یک میزبان مجازی خاص به جای پیکربندی آن در روتر است. این تضمین می‌کند که مقدار زمان‌بندی جدید فقط بر آن دسته از پراکسی‌های API تأثیر می‌گذارد که از میزبان مجازی خاص استفاده می‌کنند و نه همه پراکسی‌های API که توسط روتر ارائه می‌شوند.

    فقط زمانی که مطمئن هستید که مقدار وقفه ورودی/خروجی جدید برای همه پراکسی‌های API در حال اجرا روی روتر لازم است یا قابل اعمال است، مهلت زمانی ورودی/خروجی را روی روتر پیکربندی کنید (اصلاح کنید).

  • پردازشگر پیام: پیکربندی (تغییر) مقدار وقفه ورودی/خروجی برای یک پروکسی API خاص، به جای پیکربندی آن در پردازشگر پیام، همیشه تمرین خوبی است. این تضمین می‌کند که مقدار وقفه جدید فقط بر پروکسی API خاص تأثیر می‌گذارد و نه همه پراکسی‌های API که توسط پردازشگر پیام ارائه می‌شوند.

    تنها زمانی که مطمئن هستید که مقدار وقفه ورودی/خروجی جدید برای همه پراکسی‌های API در حال اجرا بر روی پردازشگر پیام لازم است یا قابل اعمال است، مهلت زمانی I/O را در پردازشگر پیام پیکربندی کنید (اصلاح کنید).

سناریوهای نمونه

سناریوهای موجود در این بخش می توانند به شما در درک نحوه تنظیم صحیح مقادیر وقفه ورودی/خروجی کمک کنند.

سناریو 1: درخواست به Apigee Edge از برنامه های مشتری به طور مستقیم

این بخش بهترین روش‌هایی را که باید هنگام تنظیم مقادیر زمان‌بندی در یک راه‌اندازی Apigee Edge دنبال کنید، توضیح می‌دهد که در آن هیچ مؤلفه واسطه‌ای بین برنامه مشتری و Apigee Edge و بین Apigee Edge و سرور باطن شما وجود ندارد.

نمونه راه اندازی Apigee بدون اجزای میانی

Flow starting at Client going to Router and then to Message Processor and then to Backend Server

اگر Apigee Edge همانطور که در نمودار بالا نشان داده شده است، بدون اجزای میانی تنظیم شده است، از بهترین شیوه های زیر استفاده کنید:

  1. برنامه مشتری اولین مؤلفه در جریان است. بالاترین مقدار فاصله زمانی باید روی مشتری تنظیم شود.
  2. سرور باطن آخرین مؤلفه در جریان است. کمترین مقدار زمان پایان باید در سرور باطن تنظیم شود.
  3. مقادیر زمان‌بندی هر یک از مؤلفه‌ها را به ترتیب زیر پیکربندی کنید:

    Configure timeout on client, then Router, then Message Processor, then Backend Server

    مثال زیر مقادیر مهلت زمانی تعیین شده بر روی اجزای مختلف را طبق دستورالعمل های داده شده در بالا نشان می دهد تا از هر گونه مشکلی جلوگیری شود:

    Configure timeout on client at 60 seconds, then Router at 57 seconds, then Message Processor at 55 seconds, then Backend Server at 52 seconds

سناریوی 2: درخواست به Apigee Edge از برنامه های مشتری از طریق مؤلفه های میانی

این بخش بهترین روش‌هایی را که باید هنگام تنظیم مقادیر زمان‌بندی در یک راه‌اندازی Apigee Edge دنبال کنید، توضیح می‌دهد که در آن یک یا چند جزء میانی بین برنامه مشتری و Apigee Edge و همچنین بین Apigee Edge و سرور باطن شما وجود دارد.

اجزای میانی می توانند یک متعادل کننده بار، شبکه تحویل محتوا ( CDN )، NGINX و غیره باشند.

نمونه راه اندازی Apigee با یک جزء میانی بین Client و Apigee Edge و بین Apigee Edge و سرور باطن

Flow starting at Client going to Intermediate Component 1 and then to Router and then to Message Processor and then to Intermediate Component 2 and then to Backend Server

اگر Apigee Edge همانطور که در نمودار بالا نشان داده شده است، با یک یا چند جزء میانی تنظیم شده است، از بهترین روش های زیر استفاده کنید:

  1. برنامه مشتری اولین مؤلفه در جریان است. بالاترین مقدار فاصله زمانی باید روی مشتری تنظیم شود.
  2. سرور باطن آخرین مؤلفه در جریان است. کمترین مقدار زمان پایان باید در سرور باطن تنظیم شود.
  3. مقادیر زمان‌بندی هر یک از مؤلفه‌ها، از جمله مؤلفه‌های میانی، را به ترتیب زیر پیکربندی کنید:

    Configure timeout on client, then Intermediate Component 1, then Router, then Message Processor, then Intermediate Component 2, then Backend Server

    مثال زیر مقادیر مهلت زمانی تعیین شده بر روی اجزای مختلف را طبق دستورالعمل های داده شده در بالا نشان می دهد تا از هر گونه مشکلی جلوگیری شود:

    Configure timeout on client at 63 seconds, then Intermediate Component 1 at 60 seconds, then Router at 57 seconds, then Message Processor st 55 seconds, then Intermediate Component 2 at 52 seconds, then Backend Server at 59 seconds