@uselinux
🔥API Gateway
#microservice
در دنیای مایکروسرویس ها(microservice) از مباحث چالش برانگیز . اند پوینت های مورد استفاده برای سرویسدهی به کلاینت ها هستند .
@uselinux
یک کلاینت را در نظر بگیرید که بصورت اپلیکیشن موبایل است . و قرار است خدمات جامعی به مشتری ارائه کند . چه خواهد شد اگر این کلاینت بخواهد با N سرویس متفاوت ارتباط برقرار کند ؟
احتمالا در تئوری . اپلیکیشن باید به روت های expose شده از هر سرویس ریکوئست بزند و دیتای مورد نیاز خود را بگیرد ..
@uselinux
اما در واقعیت .چالش های مهمی بر سر راه است از جمله : احتمال دارد سرویس مورد نظر . خروجی مناسب را ندهد . و همچنین برای گرفتن یک لیست مورد نیاز از داده ها به تعداد بسیار بالایی روت ریکوئست ارسال شود
@uselinux
در پروژه ای همانند آمازون شاید نیاز باشد به گاهی به صد ها روت مختلف ریکوئست ارسال شود . بدلیل بزرگی و پیچیدگی و تعداد بالای سرویس های موجود . که باعث خواهد شد کدبیس کلاینت غیر بهینه و پیچیده و همچنین روی نت ورک و منابع موبایل سربار زیادی متحمل خواهد شد
@uselinux
و همچنین ممکن است پروتکل ارتباطی هر سرویس با دیگری متفاوت باشد (وب سوکت - rest - rpc - ,.....)
از راه حل های خوب و بهینه برای جلوگیری از چنین مشکلی Api Gateway است
به این صورت که اند پوینت هایی برای تجمیع و یکپارچه سازی ارائه میشوند تا خروجی نهایی از آنها به کلاینت ها برسد
@uselinux
ا api gateway توسعه پذیری کم خطر را نیز فراهم میکند . تا با تغییرات سرویس ها . ارتباط کلاینت ها با سرویس ها دچار دگرگونی زیادی نشود
(salvador_immortal)
@uselinux
🔥API Gateway
#microservice
در دنیای مایکروسرویس ها(microservice) از مباحث چالش برانگیز . اند پوینت های مورد استفاده برای سرویسدهی به کلاینت ها هستند .
@uselinux
یک کلاینت را در نظر بگیرید که بصورت اپلیکیشن موبایل است . و قرار است خدمات جامعی به مشتری ارائه کند . چه خواهد شد اگر این کلاینت بخواهد با N سرویس متفاوت ارتباط برقرار کند ؟
احتمالا در تئوری . اپلیکیشن باید به روت های expose شده از هر سرویس ریکوئست بزند و دیتای مورد نیاز خود را بگیرد ..
@uselinux
اما در واقعیت .چالش های مهمی بر سر راه است از جمله : احتمال دارد سرویس مورد نظر . خروجی مناسب را ندهد . و همچنین برای گرفتن یک لیست مورد نیاز از داده ها به تعداد بسیار بالایی روت ریکوئست ارسال شود
@uselinux
در پروژه ای همانند آمازون شاید نیاز باشد به گاهی به صد ها روت مختلف ریکوئست ارسال شود . بدلیل بزرگی و پیچیدگی و تعداد بالای سرویس های موجود . که باعث خواهد شد کدبیس کلاینت غیر بهینه و پیچیده و همچنین روی نت ورک و منابع موبایل سربار زیادی متحمل خواهد شد
@uselinux
و همچنین ممکن است پروتکل ارتباطی هر سرویس با دیگری متفاوت باشد (وب سوکت - rest - rpc - ,.....)
از راه حل های خوب و بهینه برای جلوگیری از چنین مشکلی Api Gateway است
به این صورت که اند پوینت هایی برای تجمیع و یکپارچه سازی ارائه میشوند تا خروجی نهایی از آنها به کلاینت ها برسد
@uselinux
ا api gateway توسعه پذیری کم خطر را نیز فراهم میکند . تا با تغییرات سرویس ها . ارتباط کلاینت ها با سرویس ها دچار دگرگونی زیادی نشود
(salvador_immortal)
@uselinux