خطمشیهای سهمیه و SpikeArrest — نمیدانید از کدامیک برای
بهترین برآورده کردن نیازهای محدود کردن نرخ استفاده کنید؟ نمودار مقایسه را در زیر ببینید.
سهمیه
SpikeArrest
از آن برای موارد زیر استفاده کنید:
تعداد اتصالاتی را که برنامهها میتوانند در یک دوره زمانی مشخص به زیرینه هدف میانای برنامهسازی کاربردی شما برقرار کنند محدود کنید.
از زیرینه هدف کارگزار نیابت API دربرابر جهشهای شدید ترافیک و حملههای منع سرویس محافظت کنید.
از آن برای موارد زیر استفاده نکنید:
از آن برای محافظت از زیرینه هدف کارگزار نیابتی API دربرابر جهشهای ترافیک استفاده نکنید.
برای این کار، از خطمشی SpikeArrest استفاده کنید.
از آن برای شمارش و محدود کردن تعداد اتصالاتی که برنامهها میتوانند در یک دوره زمانی مشخص به
کارساز پشتیبان هدف کارگزار نیابتی شما برقرار کنند استفاده نکنید.
برای این کار، از خطمشی «سهمیه» استفاده کنید.
تعداد را ذخیره میکند؟
بله
نه
روالهای مطلوب برای پیوست کردن خطمشی:
آن را به ProxyEndpoint Request PreFlow، معمولاً پساز
اصالتسنجی کاربر، پیوست کنید.
این کار باعث میشود خطمشی بتواند شمارنده سهمیه را در نقطه ورودی میانای برنامهنویسی کاربردی
پراکسی شما بررسی کند.
آن را به ProxyEndpoint Request PreFlow، معمولاً در ابتدای جریان، پیوست کنید.
این کار در نقطه ورودی پراکسی API شما محافظت دربرابر جهش ارائه میدهد.
کد وضعیت HTTP وقتی به حد مجاز رسیدهاید:
500 (خطای سرور داخلی) *
500 (خطای سرور داخلی) *
خوب است بدانید:
شمارنده سهمیه در Cassandra ذخیره میشود.
خطمشی را پیکربندی کنید تا شمارنده را بهصورت ناهمزمان همگامسازی کند تا
منابع را ذخیره کند.
همگامسازی ناهمزمان شمارنده ممکن است باعث تأخیر در پاسخ محدودیت نرخ شود، که ممکن است اجازه دهد تماسها کمی بیشاز حد مجاز تعیینشده شما باشد.
براساس زمانی که آخرین ترافیک دریافت شده است، محدودسازی انجام میدهد. این زمان برای هر پردازشگر پیام ذخیره میشود.
اگر حد نرخ ۱۰۰ تماس در ثانیه را مشخص کنید، فقط ۱ تماس در هر ۱/۱۰۰ ثانیه
(۱۰ میلیثانیه) در پردازشگر پیام مجاز خواهد بود. تماس دوم ظرف ۱۰ میلیثانیه رد خواهد شد.
حتی با وجود حد نرخ بالا در ثانیه، درخواستهای تقریباً همزمان ممکن است منجر به رد شدن درخواستها شود.
* برای خطمشی سهمیه و خطمشی SpikeArrest،
کد وضعیت HTTP پیشفرض برای فراتر رفتن از حد نرخ،
500 Internal Server Error عمومی است.
با افزودن دارایی سطح سازمان (features.isHTTPStatusTooManyRequestEnabled)، میتوانید کد وضعیت این خطمشیها را به
429 Too Many Requests تغییر دهید.
اگر مشتری Cloud هستید، برای فعال کردن دارایی با پشتیبانی Apigee Edge تماس بگیرید.
تاریخ آخرین بهروزرسانی 2026-10-16 بهوقت ساعت هماهنگ جهانی.
[[["درک آسان","easyToUnderstand","thumb-up"],["مشکلم را برطرف کرد","solvedMyProblem","thumb-up"],["غیره","otherUp","thumb-up"]],[["اطلاعاتی که نیاز دارم وجود ندارد","missingTheInformationINeed","thumb-down"],["بیشازحد پیچیده/ مراحل بسیار زیاد","tooComplicatedTooManySteps","thumb-down"],["قدیمی","outOfDate","thumb-down"],["مشکل ترجمه","translationIssue","thumb-down"],["مشکل کد / نمونهها","samplesCodeIssue","thumb-down"],["غیره","otherDown","thumb-down"]],["تاریخ آخرین بهروزرسانی 2026-10-16 بهوقت ساعت هماهنگ جهانی."],[],[]]