1️⃣ API Gateway 🛂🚪(بخش اول)
ءAPI Gateway یک نقطهٔ ورودی واحد است که بین Clientها و سرویسهای Backend قرار میگیرد.
این کامپوننت در نقش Reverse Proxy عمل میکند و درخواستها را به Microservice مناسب Route میکند. علاوهبراین، بسیاری از Cross-Cutting Concernها مثل احراز هویت، Rate Limiting، و Transform کردن درخواستها را مدیریت میکند.
نحوهٔ کارکرد API Gateway ⚙️📨
تمام درخواستهای Client به یک Endpoint واحد (API Gateway) ارسال میشود، نه به تکتک سرویسها
ءGateway پس از دریافت درخواست، عملیات Authentication و Authorization را انجام میدهد
قوانین Rate Limiting و Throttling اعمال میشود تا سرویسها زیر فشار از کار نیفتند
ءGateway با توجه به مسیر URL یا Headerها، Request را به سرویس مناسب Route میکند
میتواند پاسخ چند سرویس را جمعآوری و به یک Response تجمیعشده برای Client تبدیل کند
مزایا ✨
🔹️سادهسازی سمت Client با ارائهٔ یک Endpoint واحد
🔹️ایجاد لایهٔ انتزاعی برای تغییر سرویسهای Backend بدون اثرگذاری روی Client
🔹️بهبود امنیت با مخفی کردن ساختار داخلی سرویسها و Endpointهای واقعی آنها
معایب ⚠️
🔸️تبدیل شدن به Single Point of Failure در صورت طراحی غلط
🔸️احتمال تبدیل شدن به Bottleneck در ترافیکهای بالا
🔸️افزودن Latency به هر درخواست بهخاطر یک Roundtrip اضافی شبکه
موارد استفاده 🎯
• معماریهای Microservices که نیاز به یک رابط یکپارچه برای چند سرویس مختلف دارند
• سیستمهایی که Authentication و Authorization یکپارچه نیاز دارند
• مدرنسازی سیستمهای Legacy با پنهان کردن سرویسهای قدیمی پشت یک API مدرن