میکروسرویس
میکروسرویسها چه هستند؟
میکروسرویسها روشی آرشیتکتی و شرکتی برای توسعه نرم افزار است که در آن نرم افزار از سرویسهای کوچک مستقل ساخته شده است که به وسیله APIها باهم ارتباط دارند. این سرویسها در اختیار تیمهای کوچک مستقل هستند.
ساختارهای میکروسرویسها باعث تسریع توسعه نرم افزار میشود که خود زمینه خلاقیت و عرضه امکانات جدید به بازار در زمان کمتر است.
ساختار مونولیتیک (یکپارچه) و میکروسرویس
با ساختار مونولیتیک، تمام پروسهها ارتباط تنگاتنگ جفت جفتی دارند و به صورت یک سرویس تکی اجرا میشوند. این بدان معنیست که اگر یک پروسه از نرم افزار فراخوانده شود، تمامی ساختار باید اجرا شود. اضافه کردن و یا تقویت امکانات یک نرم افزار مونولیتیک پیچیدهتر خواهد شد چراکه زمینه کدنویسی افزایش پیدا میکند. این پیچیدگی باعث محدودیت آزمودن نرم افزار میشود و اجرای ایدههای جدید را سخت خواهد کرد. ساختارهای مونولیتیک ریسک در دسترس بودن برنامه را نیز ایجاد میکند چراکه برای اجرای یک پروسه، تعداد زیادی جفت پروسه باید اجرا شوند که خرابی یکی از آنها موجب خطا میشود.
با یک ساختار میکروسرویس، یک برنامه از اجزای مستقل ساخته میشود که هریک از پروسههای آن به عنوان یک سرویس اجرا میشوند. این سرویسها به وسیله َAPIهای تعریف شده با یکدیگر ارتباط دارند. سرویسها برای ظرفیتهای مشاغل ساخته میشوند و هرکدام عملکردی منحصربفرد دارند. از آنجاییکه سرویسها مستقلانه اجرا میشوند، آنها به طور جداگانه میتوانند آپدیت، بارگذاری و بالاآورده شوند تا کار خاصی را برای اجرای برنامه انجام دهند.
ویژگیهای میکروسرویسها
خودمختاری
هر سرویس کامپوننتی در ساختار میکروسرویس میتواند جداگانه آپدیت و استفاده شود، بدون اینکه بر عملکرد بقیه سرویسها تاثیری بگدارد. سرویسها نیازی به تبادل کد خود با سرویس دیگر ندارند. هر ارتباطی بین کامپوننتها از طریق API صورت میگیرد.
تخصصیشده
هر سرویس برای دستهای از تواناییها و حل مسائلی خاص طراحی شده است. اگر برنامهنویسها روی یک سرویس مدت زیادی کار کنند و خیلی پیچیده شود، میتوان آن را به قسمتهای کوچکتری تقسیم کرد.
معماری میکروسرویس (Microservice )چیست؟

میکروسرویس یک الگوی معماری در دنیای مهندسی نرم افزار است که سرویسگرا محسوب میشود.

استفاده از Domain Analysis برای مدل میکروسرویس ها

فاز بعدی که در این مقاله از آن صحبت خواهیم کرد فاز تاکتیک خواهد بود. ما زمانی وارد این فاز میشویم که در ابتدا نقشه خود را آماده کرده و سپس قصد داشته باشیم مدل طراحی شده را با دقت و درستی بیشتری کامل کنیم.

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

بهترین اندازهای که برای یک میکروسرویس وجود دارد چه اندازهای است؟