محمد زارع
محمد زارع
خواندن ۲ دقیقه·۷ ماه پیش

خوبی های معماری میکروسرویس

مقیاس پذیری

اینو دیگه همه میدونیم.

در دسترس بودن و قابلیت اطمینان

اینم همه میدونیم که میکروسرویس سطح دسترس پذیری رو میبره بالا.

تاب آوری(Resilience)

با معماری میکروسرویس خیلی از سرویس هامون میتونن Stateless باشن و تعدادشون رو زیاد کنیم تا در صورت خرابی یک نود یا سرور سرویسمون دچار مشکل نشه.

انعطاف در دپلوی

چون هر سرویس مجزا دپلوی میشه طبیعتا دپلوی جدید راحت تره و روی کل اپلیکیشن اثر نمیذاره و رول بکش راحت تره.

تنوع تکنولوژی

می تونید برای هر میکروسرویس از یک زبان و تکنولوژی و فریم ورک استفاده کنید. مثلا یه بخش هایی جاوا باشه، یه بخشی که وب سوکت میخواد nodejs باشه، کانسیومرها پایتون باشه و ... .

کاهش وابستگی به نفرات

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

ایزوله بودن خطاها

وقتی یه میکروسرویس به هر دلیلی دچرا مشکل بشه، روی عملکرد سایر سرویس ها تاثیر نمیذاره و سیستم مقاوم می مونه و همچنین دیباگ کردن اون فیچری که از کار افتاده خیلی راحت تر.

امکان Reuse

اگه سرویس ها رو خوب جدا کرده باشیم و اینترفیس های استانداردی براش در نظر گرفته باشیم احتمالا خیلی راحت بتونیم ازش تو سایر اپلیکیشن ها استفاده کنیم. مثلا یه سرویس ریکامندر یا سرویس لاگین داشته باشیم که چند تا ازش استفاده کنیم و هر وقت آپدیت شد نیاز نباشه چندین جا کد رو کپی کنیم.

تست A/B

نسخه جدید یک میکروسرویس رو همراه با نسخه قدیمی میاریم بالا و آمار میگیریم کدومش رو یوزر بیشتر دوست داره.

توسعه سریع تر

چون سرویس ها مستقلا توسعه داده میشه فیچرهای جدید رو سریع تر توسعه میدیم و دیگه نیازی نیست به هزار جای دیگه اپلیکیشن فکر کنیم که خراب نشه.

عکس

اینم عکس:



معماری میکروسرویس
شاید از این پست‌ها خوشتان بیاید