اولویت بندی درخواست ها براساس کاربران

سلام دوستان
یه سوال دارم خدمتتون
توی جنگو یا فلسک یا حتی فریمورک Sanic این امکان رو داریم که به یوزرها برای درخواستشون اولویت بدیم. به طور مثال در یک api متدی رو کال میکنیم که پردازشش یک ثانیه طول میکشه. حالا یوزری داریم که این api رو به صورت پشت سرهم 1000 بار فراخوانی میکنه ولی یوزر دیگه ای هم داریم که فقط یه بار فراخوانیش میکنه. در این صورت ممکنه یوزر اول فرصتی به یوزر دوم برای دسترسی به این سرویس نده. میخوام بدونم آیا امکانی هست که بشه اولویت بندی بین کاربرا رو اجرایی کرد و حتی به صورت بهتر بشه براساس وزنی که هر کاربر داره بهش سرویس داد؟

1 Likes

بله این کار زیرمجموعه ی بحث api rate limiting
هست و به کاری که شما می خواهید کنید client quota گفته میشه
چندین روش برای انجام این کار وجود داره
روش ساده اش استفاده از ردیس با نگه داشتن یک کلید برای تعداد درخواست های یک کاربره که بعد یک مدت پاک میشه

3 Likes

عالی بود دقیقا جواب سوالم همین بود :pray:

1 Likes