آموزش پیاده سازی Versioning در میکروسرویس ها

تعداد ویدئو 33
زمان دوره 01:41:35
مترجم مرتضی گیتی
دوبلر مرتضی گیتی
سایت منتشر کننده پلورال سایت

آموزش پیاده سازی Versioning در میکروسرویس ها یکی دیگر از آموزش های گروه آموزشی پرووید می باشد که در این قسمت آن را به شما معرفی می کنیم. این بسته ی آموزشی نیز یکی از دوره های آموزشی دیگر که در حوزه ی فارسی سازی آموزش های انگلیسی تنظیم شده است می باشد. عنوان این بسته ی آموزشی پیاده سازی Versioning در معماری مایکروسرویس ها است که با نام اصلی Versioning and Evolving Microservices in ASP.NET Core از شرکت Pluralsight منتشر شده است.

معماری میکروسرویس ها (Microservices Architecture) چیست؟

مایکروسرویس ها که تحت عنوان معماری مایکروسرویسی نیز شناخته می شوند یک سبک معماری استکه در آن یک سیستم نرم افزاری در قالب مجموعه ای از سرویس های کوچک تشکیل می شود. سرویس هایی که در معماری مایکروسرویسی پیاده سازی می شوند باید دارای قابلیت های مختلفی از قبیل قابلیت نگهداری و تست پذیری بالا، قابلیت loosely coupled بودن، قابلیت به طور مستقل قابل deploy بودن و نهایتاً قابلیت سازماندهی شدن توسط تیم کوچک توسعه نرم افزار را داشته باشند. با استفاده از معماری مایکروسرویسی میتوان به سادگی نرم افزارهای پیچیده و بزرگ را به روشی کاملاً قابل اعتماد و با سرعت بسیار بالاتری تحویل مشتری داد. علاوه بر این، امکان تکامل یک technology stack نیز با استفاده از معماری مایکروسرویسی امکان پذیر خواهد بود. البته نباید به این قضیه فکر کرد که معماری مایکروسرویسی حلال تمامی مشکلات است. در کنار مزیت های بسیار زیادی که در معماری مایکروسرویسی وجود دارد این معماری دارای چالش های متعددی نیز است. در کنار سبک معماری مایکروسرویسی اغلب از سبک معماری Monolithic و یا Monolithic Architecture یاد می شود که یک سبک معماری سنتی است. البته هنوز هم توسط بسیاری از نرم افزارها استفاده می گردد. این سبک معماری نیز دارای محدودیت های مختلفی است که استفاده کردن از آن را برای برخی از نرم افزارها نامناسب می کند.

Versioning-and-Evolving-Microservices-in-ASP.NET-Core-Snapshot

ورژن بندی کردن (Versioning) میکروسرویس ها

همانطور که احتمالا می دانید یک API در معماری مایکروسرویسی یک قرارداد و یا contract بین سرویس و کلاینت های آن سرویس به حساب می آید. بنابراین شما می توانید معماری مایکروسرویسی خود را به طور مستقل از کلاینت ها تکامل و یا تغییر بدهید. البته در انجام چنین کاری باید توجه کرد که API contract مربوط به معماری مایکروسرویسی اصطلاحاً break نشود و یا نشکند. از آنجایی که این contract پل ارتباطی سرویس و کلاینت می باشد نگهداری آن بدون هیچگونه تغییر بسیار مهم است. اگر contract مربوطه دچار تغییر بشود تأثیر این موضوع بر روی کلاینت ها و همچنین API Gateway غیرقابل اجتناب خواهد بود. ساختار یک API بستگی به پروتکل استفاده شده دارد. برای مثال اگر شما از messaging از قبیل AMQP استفاده کنید API شما شامل انواع مختلفی از message ها و یا اصطلاحاً message type ها خواهد بود. این در حالی است که اگر از HTTP و یا Restful service ها استفاده کنید API شامل URL ها و request و response های در قالب JSON خواهند بود. در معماری مایکروسرویسی امکان اینکه نیاز داشته باشید service API را پس از مدتی تحقیق بدهید بسیار محتمل است. وقتی که این اتفاق رخ می دهد و البته public API شما توسط چندین client application مورد استفاده قرار می گیرند نمی توانید همه کلاینت ها را مجبور کنید در یک زمان یکسان از API contract بروزرسانی شده استفاده کنند. به عبارت دیگر نیاز است که نسخه جدید سرویس مورد نظرتان را برای مدتی در کنار نسخه قدیمی قرار دهید تا کلاینت ها بتوانند هر دوی این نسخه ها را در کنار یکدیگر مورد استفاده قرار بدهند و پس از مدتی service contract قدیمی تر اصطلاحاً بازنشسته می شود و جای خود را به service contract جدیدتر می دهد. به همین جهت در بروزرسانی کردن API مربوط به معماری مایکروسرویسی در نظر داشتن یک استراتژی بسیار مهم برای به روزرسانی اهمیت زیادی دارد. به این استراتژی و تکنیک های مختلفی که در کنار آن استفاده می شود اصطلاحاً نسخه بندی و یا versioning می گویند.

سرفصل مطالب آموزش ویدئویی پیاده سازی Versioning در معماری میکروسرویس ها

فصل اول: مقدمه دوره آموزشی

  • مقدمه دوره آموزشی

فصل دوم: چرا API ها تکامل پیدا می کنند؟

  • مقدمه
  • معرفی GloboTicket
  • آموزش عملی: ایجاد GloboTicket Code
  • آموزش عملی: بررسی Database Migrations
  • آموزش عملی: اجرا کردن از طریق Command Line
  • آموزش عملی: اجرا کردن از طریق Visual Studio
  • چرا API ها تکامل می یابند؟
  • جمع بندی

فصل سوم: حفظ کردن Backwards Compatibility

  • مقدمه
  • بررسی تغییرات شکننده و یا Breaking Change ها
  • مجبور کردن Client ها به Upgrade کردن
  • بررسی راهبرد های ورژنینگ
  • انتخاب یک راهبرد ورژنینگ
  • جمع بندی

فصل چهارم: پیاده سازی API Versioning

  • مقدمه
  • الزامات جدید
  • آموزش عملی: بررسی Database Migration ها
  • آموزش عملی: فعال کردن ورژنینگ
  • آموزش عملی: پشتیبانی از چندین نسخه API
  • آموزش عملی: بررسی کد Refactoring
  • آموزش عملی: پیکربندی کردن ورژنینگ
  • آموزش عملی: Routing مبتنی بر URL
  • آموزش عملی: تست کردن Backwards Compatibility
  • آموزش عملی: بررسی Swagger Documentation
  • جمع بندی

فصل پنجم: ورژن بندی کردن Message ها

  • مقدمه
  • مزایای استفاده از Messaging
  • Command ها و Event Message ها
  • شکستن تغییرات و پیام ها
  • آموزش عملی: پیاده سازی کردن یک ورژن جدید از Message ها
  • آموزش عملی: تست کردن Backwards Compatibility
  • جمع بندی

نقد و بررسی‌ها

هیچ دیدگاهی برای این محصول نوشته نشده است.

اولین کسی باشید که دیدگاهی می نویسد “آموزش پیاده سازی Versioning در میکروسرویس ها”

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دسته های محصولات

افزودن به سبد خرید