معرفی
این مقاله در مورد معماری میکروسرویس است و عمدتاً به این موضوع میپردازد که چرا معماری میکروسرویس نسبت به معماری یکپارچه برتری دارد. این مقاله همچنین نحوه توسعه یک میکروسرویس در NET Core 3.1 با API Gateway با استفاده از Ocelot را شرح می دهد.
میکروسرویس ها
معماری میکروسرویس رویکردی برای توسعه یک برنامه کاربردی به عنوان مجموعه ای از سرویس های کوچک است که هر کدام به طور مستقل اجرا می شوند و با یکدیگر ارتباط برقرار می کنند. به جای ایجاد یک برنامه یکپارچه، یک برنامه کامل را به مجموعه کوچکتری از خدمات به هم پیوسته تقسیم می کند.
ارتباطات میکروسرویس
بسته به نوع ارتباطی که می خواهید استفاده کنید، پروتکل های زیادی برای برقراری ارتباط وجود دارد. اگر از مکانیزم ارتباطی مبتنی بر درخواست/پاسخ همزمان استفاده میکنید، پروتکلهایی مانند رویکردهای HTTP و REST بهترین رویکردها هستند.
اگر در حال برقراری ارتباط بین سرویسها به صورت داخلی (در داخل میزبان Docker یا خوشه میکروسرویس خود هستید)، میتوانید از پروتکلهای ناهمزمان، مکانیسمهای ارتباطی مبتنی بر پیام مانند سرویس اتوبوس Azure، AMQP و غیره استفاده کنید.
میکروسرویس در مقابل یکپارچه
معماری یکپارچه یک رویکرد سنتی است که با توسعه یک برنامه کاربردی به عنوان یک کل سر و کار دارد، توسعه و آزمایش آن آسان است، اما نگرانی اصلی معماری یکپارچه در هنگام استقرار مجدد یک برنامه در طول به روز رسانی است. در معماری یکپارچه، یک برنامه کامل برای هر به روز رسانی باید مجدداً مستقر شود.
اشکالات دیگر شامل این واقعیت است که یک اشکال در یک برنامه می تواند به طور کامل یک برنامه کاربردی را از بین ببرد و زمان راه اندازی برنامه به دلیل اندازه آن بسیار طولانی است. برای غلبه بر تمام معایب معماری یکپارچه، میکروسرویس ها وارد عمل می شوند.
حال بیایید در مورد چگونگی ایجاد یک میکروسرویس در هسته نت 3.1 با دروازه API بحث کنیم.
در این نسخه آزمایشی، من یک API وب .NET Core 3.1 را با استفاده از Entity Framework core ایجاد کردم. در مقاله آتی من، بیایید به مفاهیم عمیق هسته EF نگاه کنیم که شامل رویکرد اول کد و رویکرد اول پایگاه داده است. در این نسخه ی نمایشی، من به سادگی از رویکرد کد اول برای توسعه یک وب API استفاده کردم.
یک راه حل خالی ایجاد کنید
معمولاً معماری میکروسرویس شامل یک راه حل واحد است که شامل بسیاری از خدمات است. بنابراین، یک پروژه در VS 2019 ایجاد کنید، هسته دات نت را انتخاب کنید و یک قالب خالی اضافه کنید.
یک Web API اضافه کنید و آن را به عنوان وب سرویس 1 نامگذاری کنید
یک پروژه web API را به یک راه حل موجود اضافه کنید. پس از اضافه شدن، می توانید یک سرویس API وب را در زیر راه حل موجود پیدا کنید. در این وب API، رویکرد کد اول در هسته EF برای ایجاد یک پایگاه داده در SQL استفاده می شود. اگر به اقدامات دیگری برای انجام نیاز دارید، آنها را طبق نیاز در API وب خود اضافه کنید.