اینو دیگه همه میدونیم.
اینم همه میدونیم که میکروسرویس سطح دسترس پذیری رو میبره بالا.
با معماری میکروسرویس خیلی از سرویس هامون میتونن Stateless باشن و تعدادشون رو زیاد کنیم تا در صورت خرابی یک نود یا سرور سرویسمون دچار مشکل نشه.
چون هر سرویس مجزا دپلوی میشه طبیعتا دپلوی جدید راحت تره و روی کل اپلیکیشن اثر نمیذاره و رول بکش راحت تره.
می تونید برای هر میکروسرویس از یک زبان و تکنولوژی و فریم ورک استفاده کنید. مثلا یه بخش هایی جاوا باشه، یه بخشی که وب سوکت میخواد nodejs باشه، کانسیومرها پایتون باشه و ... .
چون سرویس ها کوچک شده جداگانه توسعه داده شده، باعث میشه وقتی یه نفر از تیم خارج میشه، تحویل داده پروژه به نفر جایگزین خیلی راحت تر و سریع تر باشه. تو حالت مونولیت اونقدر اپلیکیشن پیچیده میشه که باید خدا خدا کنی نفر اصلی که همه چی رو میدونه نره.
وقتی یه میکروسرویس به هر دلیلی دچرا مشکل بشه، روی عملکرد سایر سرویس ها تاثیر نمیذاره و سیستم مقاوم می مونه و همچنین دیباگ کردن اون فیچری که از کار افتاده خیلی راحت تر.
اگه سرویس ها رو خوب جدا کرده باشیم و اینترفیس های استانداردی براش در نظر گرفته باشیم احتمالا خیلی راحت بتونیم ازش تو سایر اپلیکیشن ها استفاده کنیم. مثلا یه سرویس ریکامندر یا سرویس لاگین داشته باشیم که چند تا ازش استفاده کنیم و هر وقت آپدیت شد نیاز نباشه چندین جا کد رو کپی کنیم.
نسخه جدید یک میکروسرویس رو همراه با نسخه قدیمی میاریم بالا و آمار میگیریم کدومش رو یوزر بیشتر دوست داره.
چون سرویس ها مستقلا توسعه داده میشه فیچرهای جدید رو سریع تر توسعه میدیم و دیگه نیازی نیست به هزار جای دیگه اپلیکیشن فکر کنیم که خراب نشه.
اینم عکس: