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

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

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

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

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

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

ضد الگو

اجازه دهید مورد یک باطن مشکل ساز را در نظر بگیریم. اینها احتمالات است:

  • باطن با اندازه نامناسب
  • باطن آهسته
  • باطن با اندازه نامناسب

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

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

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

    باطن آهسته

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

    پلتفرم Edge چند گزینه قابل تنظیم برای دور زدن و مدیریت باطن آهسته ارائه می دهد. اما این گزینه ها محدودیت هایی دارند.

    تاثیر

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

    بهترین تمرین

    • از کش برای ذخیره پاسخ ها برای بهبود زمان پاسخ API و کاهش بار روی سرور باطن استفاده کنید.
    • مشکل اساسی در سرورهای باطن آهسته را حل کنید.

    در ادامه مطلب