~/کدولاگ
→ همه‌ی پروژه‌ها
در حال انجام۱۴۰۵ خرداد ← اکنون

یک REST API با محدودیت نرخ در Node.js

ساخت یک API با Express و TypeScript و محافظت از آن با یک محدودکننده‌ی توزیع‌شده‌ی token-bucket بر پایه‌ی Redis.

nodetypescriptredisپایداری

محدودیت نرخ (rate limiting) از آن چیزهایی است که هر API به آن نیاز دارد و بیشتر آموزش‌ها آن را با نگه‌داشتن وضعیت در حافظه‌ی محلی اشتباه پیاده می‌کنند. در این مجموعه، محدودکننده‌ای می‌سازیم که در بین چندین نمونه (instance) از سرویس هم درست کار می‌کند.

چیزهایی که یاد می‌گیرید

  • یک زنجیره‌ی میان‌افزار (middleware) تمیز و تایپ‌شده در Express
  • پیاده‌سازی الگوریتم token bucket از صفر
  • اشتراک‌گذاری وضعیت محدودکننده در Redis تا مقیاس‌پذیری افقی محدودیت‌ها را خراب نکند
  • اطلاع‌رسانی محدودیت‌ها به کلاینت با کدهای وضعیت و هدرهای درست

مراحل بیشتر به‌زودی به این مجموعه اضافه می‌شود.

مراحل ساخت 2 بخش

  1. 01بخش ۱: اسکلت پروژه
  2. 02بخش ۲: یک Token Bucket