Antipattern: اجازه یک backend آهسته را بدهید

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

سیستم‌های بک‌اند، سرویس‌هایی را اجرا می‌کنند که پروکسی‌های API به آنها دسترسی دارند. به عبارت دیگر، آنها دلیل اساسی وجود APIها و لایه پروکسی مدیریت API هستند.

هر درخواست API که از طریق پلتفرم Edge مسیریابی می‌شود، قبل از رسیدن به backend، یک مسیر معمول را طی می‌کند:

  • این درخواست از یک کلاینت سرچشمه می‌گیرد که می‌تواند هر چیزی از یک مرورگر گرفته تا یک برنامه باشد.
  • سپس درخواست توسط دروازه Edge دریافت می‌شود.
  • این درخواست درون دروازه پردازش می‌شود. به عنوان بخشی از این پردازش، درخواست به تعدادی از اجزای توزیع‌شده منتقل می‌شود.
  • سپس دروازه، درخواست را به سمت بک‌اندی که به درخواست پاسخ می‌دهد، هدایت می‌کند.
  • سپس پاسخ از backend مسیر معکوس را از طریق دروازه Edge به سمت کلاینت طی می‌کند.

در واقع، عملکرد درخواست‌های API که از طریق Edge مسیریابی می‌شوند، هم به Edge و هم به سیستم‌های backend وابسته است. در این ضدالگو، ما بر تأثیر سیستم‌های backend با عملکرد ضعیف بر درخواست‌های API تمرکز خواهیم کرد.

ضدالگو

بیایید موردی را در نظر بگیریم که در آن یک backend مشکل‌دار وجود دارد. این احتمالات عبارتند از:

  • بک‌اند با اندازه ناکافی
  • کندی بک‌اند
  • بک‌اند با اندازه ناکافی

    چالش ارائه خدمات در این سیستم‌های backend از طریق APIها این است که آنها برای تعداد زیادی از کاربران نهایی قابل دسترسی هستند. از دیدگاه تجاری، این یک چالش مطلوب است، اما چیزی است که باید با آن برخورد شود.

    بسیاری از اوقات سیستم‌های backend برای این تقاضای اضافی در سرویس‌های خود آماده نیستند و در نتیجه، اندازه‌ی کافی ندارند یا برای پاسخگویی کارآمد تنظیم نشده‌اند.

    مشکل بک‌اند با «اندازه ناکافی» این است که اگر درخواست‌های API به طور ناگهانی افزایش یابد، منابعی مانند CPU، Load و Memory را در سیستم‌های بک‌اند تحت فشار قرار می‌دهد. این در نهایت باعث می‌شود درخواست‌های API با شکست مواجه شوند.

    کندی بک‌اند

    مشکل یک backend که به درستی تنظیم نشده باشد این است که پاسخگویی به هر درخواستی که به آن می‌رسد بسیار کند خواهد بود و در نتیجه منجر به افزایش تأخیر، وقفه‌های زودرس و تجربه مشتری نامطلوب می‌شود.

    پلتفرم اج چند گزینه قابل تنظیم برای دور زدن و مدیریت کندی بک‌اند ارائه می‌دهد. اما این گزینه‌ها محدودیت‌هایی دارند.

    تأثیر

    • در صورت ناکافی بودن اندازه بک‌اند، افزایش ترافیک می‌تواند منجر به درخواست‌های ناموفق شود.
    • در صورت کند بودن backend، تأخیر درخواست‌ها افزایش می‌یابد.

    بهترین شیوه

    • از ذخیره‌سازی (caching) برای ذخیره پاسخ‌ها استفاده کنید تا زمان پاسخ API بهبود یابد و بار روی سرور backend کاهش یابد.
    • مشکل اساسی در سرورهای بک‌اند کند را حل کنید.

    مطالعه بیشتر