Antipattern: از شناسه های با کاردینالیته بالا در خط مشی های سهمیه استفاده کنید

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

خط مشی Quota برای شمارش تعداد درخواست های دریافت شده توسط یک پراکسی API استفاده می شود. این قابلیت به ارائه‌دهندگان API امکان می‌دهد محدودیت‌هایی را بر تعداد تماس‌های API برقرار شده توسط برنامه‌ها در یک بازه زمانی اعمال کنند.

خط مشی Quota می تواند شامل یک عنصر identifier باشد که سهمیه "سطل" را که هر درخواست در آن شمارش می شود، مشخص می کند.

ضد الگو

هنگام استفاده از خط مشی Quota، از شناسه های با کاردینالیته بالا استفاده نکنید.

Cardinality به تعداد مقادیر منحصر به فرد داده در یک مجموعه اشاره دارد. یک شناسه با کاردینالیته بالا تعداد زیادی مقادیر ممکن متمایز دارد. شناسه‌های با کاردینالیته بالا شامل شناسه‌های درخواست منحصربه‌فرد یا شناسه‌های جلسه هستند که با هر تماس API تغییر می‌کنند.

استفاده از شناسه‌های با کاردینالیته بالا می‌تواند به میزان قابل‌توجهی اثربخشی اجرای سهمیه شما را تضعیف کند.

تاثیر

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

  • اجرای سهمیه ناکارآمد: هر شناسه منحصر به فرد به عنوان یک شمارنده جداگانه در نظر گرفته می شود. اگر هر درخواست یک شناسه جدید و منحصر به فرد داشته باشد، سیستم سهمیه شما اساسا یک "سطل" جدید برای هر تماس API ایجاد می کند. این بدان معناست که محدودیت کلی سهمیه شما با شمارشگرهای فردی و یکبار مصرف به جای گروه‌های واقعی درخواست‌هایی که می‌خواهید محدود کنید، اندازه‌گیری می‌شود و این خط‌مشی را برای کنترل ترافیک بی‌فایده می‌کند.
  • افزایش مصرف منابع: ایجاد و مدیریت تعداد زیادی از شمارشگرهای سهمیه منحصر به فرد فشار غیرضروری بر پلتفرم Apigee وارد می کند که منجر به افزایش استفاده از منابع و مشکلات بالقوه عملکرد می شود.
  • چالش‌های نظارت: وقتی داده‌ها در تعداد زیادی از شناسه‌های منحصربه‌فرد تقسیم می‌شوند، نظارت و درک روند مصرف واقعی API دشوار می‌شود. شما نمی توانید ببینید کدام برنامه ها، توسعه دهندگان یا محصولات منابع API شما را مصرف می کنند.

بهترین تمرین

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

  • developer.app.name
  • client_id
  • apiproduct.name

با شناسه‌های مناسب، خط‌مشی Quota شما می‌تواند ترافیک API را به‌طور مؤثرتری مدیریت کند، از افزایش بیش از حد ناخواسته جلوگیری کند و بینش‌های روشنی در مورد الگوهای استفاده ارائه دهد.