برای Microservices ها مزایای زیادی وجود داره که اکثر این مزایا حول محور دو موضوع هستن
Reliability
Agility
کوچک بودن سرویس ها باعث میشه هر تیم بصورت جداگانه بتونه توسعه یک یا چند کامپوننت رو بر عهده بگیره و همین باعث میشه که تیم ها اصطکاک کمتری در ارتباط با هم داشته باشند و چابکی تیم ها بیشتر بشه
دلیل دیگه چابک بودن اینه که برای هر سرویس تیم ها مجبور هستن یک سری API رسمی و مناسب ارائه بدن که همین خودش باعث تقویت همکاری تیم ها میشه
و در نهایت جداسازی microservice ها باعث میشه که سیستم در مواقع لزوم بهتر scale پیدا کنه و هر component بصورت مستقل این موضوع رو مدیریت کنه.
در کنار مزایا، این معماری معایبی هم داره که دو مورد از اهمیت بیشتری برخوردار هست
اولین مساله اینه که وقتی سیستم loosely coupled میشه بصورت distributed، هنگام رخ دادن خطا، خیلی دیباگ کردن سیستم سخت تر میشه.
مساله دیگه اینه که اساسا طراحی مایکرسرویس ها پیچیده تر و سخت تر هست.
#designing_distributed_systems_brendan_burns
@gocasts
Post #45
788
Go Casts | Systems & Agents 🚀 Introduction to Microservices در سال های اخیر عبارت «microservices» برای توصیف multi-node distributed software archetectures یک عبارت همه گیر شده است. عموما Microservices سیستمی را توصیف می کنه که از چند component مختلف تشکیل شده که هر کدام از این component…