حسین نصیری راد | Hossein Nasirirad
حسین نصیری راد | Hossein Nasirirad
خواندن ۱ دقیقه·۱ سال پیش

API Gateway

به طور کلی وظیفه حل کردن Sepration Concern ها را بر عهده داشته و مولفه ای از زیرساخت تحویل یک برنامه بین استفاده کننده ها و سرویس ها است و ارتباط بین آنها را مدیریت میکند.

  • به مثال زیر توجه کنید:

در این حالت هیچ ساختار منظمی وجود ندارد و تمامی وظایف micro service ها مثل log ، security ، finance ، cashing pricing بر عهده استفاده کننده (برنامه نویس فرانت) می باشد و مستقیما با فرآیندهایی که در زیر ساخت اتفاق میوفتد سروکار دارد، در صورتیکه اصلا لزومی ندارد که برنامه نویس فرانت با سرور و اتفاقات آن مواجه شود، به همین منظور ما از یک سرویسی جهت سهولت و مدیریت ارتباط به اسم API Gateway استفاده میکنیم.

  • در زیر به ساختار این مولفه توجه کنید:

به طور کلی API Gateway پشتیبانی و مدیریت تغییرات آدرس ها و همچنین تغییرات مربوط به ارتباطات را در یک واحد مشخص انجام میدهد. وظایفی مانند log ، cash ، security ، identity ، authentication رو بر عهده دارد و میاد از دسترسی مستقیم استفاده کننده ها جلوگیری میکند و در عین حال با توجه به بزرگی ابعادش باید همیشه آنلاین و سرحال بماند.

معمولا در پروژه های بزرگ آدرس میکرو سرویس ها تغییر میکند مثلا ممکن است از localhost31 به localhost32 تغییر یابد که اگر این API نبود، تمامی تغییرات می بایست یکبار هم سمت استفاده کننده (برنامه نویس فرانت) میرفت و آنجا هم تغییر میکرد اما با وجود این ساختار تغییرات و اطلاع رسانی ها بر عهده خود آن یعنی API Gateway میباشد.

نحوه ارتباط آن با استفاده کننده ها تنها از طریق یک آدرس Localhost میباشد!

همچنین از AWS WAF یا Web Application Firewall جهت محافظت از API ها و Web Application ها در برابر Attack ها استفاده میکند.



برنامه نویسیمعماری نرم افزارapiapi gatewayprogramming
برنامه نویس و سنگنورد که این همه‌ی ماجرا نیست!
شاید از این پست‌ها خوشتان بیاید