متمرکز کردن احراز هویت
یکی از مهمترین وظایف Gateway، احراز هویت متمرکز است. بهجای اینکه هر میکروسرویس داخلی جداگانه توکن کاربر را بررسی کند، Gateway یکبار توکن (معمولاً JWT) را اعتبارسنجی میکند و اطلاعات هویت را (مثل شناسهی کاربر) در هدرهای داخلی به سرویسهای پشتی ارسال میکند:
Client → [Authorization: Bearer eyJhbGc...] → Gateway
Gateway → [X-User-Id: 4821] → Order Service
این یعنی سرویسهای داخلی میتوانند به هدر سادهی X-User-Id اعتماد کنند (چون فقط از طریق شبکهی داخلی و پس از عبور از Gateway به آنها میرسد) بدون نیاز به رمزگشایی و اعتبارسنجی JWT در هر سرویس.
محدود کردن نرخ درخواست
Rate Limiting از سوءاستفاده یا فشار بیشازحد روی سیستم جلوگیری میکند؛ مثلاً محدود کردن هر کاربر به ۱۰۰ درخواست در دقیقه:
rate_limit:
requests_per_minute: 100
key: user_id
on_exceed: "429 Too Many Requests"
پیادهسازی این محدودیت در سطح Gateway بهجای هر سرویس، هم از تکرار کد جلوگیری میکند و هم تضمین میکند محدودیت بهطور یکسان روی کل سیستم اعمال شود. الگوریتمهای رایج برای این کار شامل Token Bucket و Sliding Window هستند. بسیاری از ابزارهای آمادهی Gateway مثل Kong یا NGINX این قابلیتها را بهصورت پیکربندی ساده، بدون نیاز به کدنویسی دستی، فراهم میکنند.