بسته ی آموزش ویدئویی شروع به کار با معماری مایکروسرویس ها

بسته ی آموزش ویدئویی شروع به کار با معماری مایکروسرویس ها یکی دیگر از آموزش های گروه آموزشی پرووید می باشد که در این قسمت آن را به شما معرفی می کنیم. این بسته ی آموزشی نیز یکی از دوره های آموزشی دیگر که در حوزه ی فارسی سازی آموزش های انگلیسی تنظیم شده است می باشد. عنوان این بسته ی آموزشی شروع به کار با معماری مایکروسرویس ها است که با نام اصلی Microservices – Getting Started از شرکت Pluralsight منتشر شده است.

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

معماری مایکروسرویس ها که به آن Microservices Architecture نیز می گوییم یک سبک معماری و یا architectural style می باشد که طبق آن یک برنامه در قالب مجموعه‌ای از سرویس ها ایجاد می شود. این سرویس ها باید دارای شرایط زیر باشند:

  • قابلیت نگهداری و تست پذیری بسیار بالا
  • همچنین loosely coupled بودن
  • به طور مستقل از یکدیگر قابل develop و deploy کردن باشند


معماری مایکروسرویس ها باعث می شود که توسعه و تحویل نرم افزارهای پیچیده و بسیار بزرگ به روشی سریع و قابل اطمینان انجام پذیرد. در پیاده سازی معماری مایکروسرویس ها، سرویس ها می توانند هم با پروتکل های از قبیل HTTP/REST و هم پروتکل های asynchronous از قبیل AMQP با یکدیگر ارتباط برقرار کنند. علاوه بر این، سرویس ها می توانند به صورت مستقل از یکدیگر develop و deploy بشوند. هر سرویس دیتابیس انحصاری خودش را دارد و این موضوع باعث می‌شود که سرویس ها از یکدیگر decoupled بشوند. علاوه بر این data consistency بین سرویس ها با استفاده از الگوی saga پیاده سازی می شود.

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

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

  • مقدمه

فصل دوم: بررسی مزیتهای ماکروسرویس ها

  • تعریف کردن Monolith ها و ماکروسرویس ها
  • مزیتهای استفاده از ماکروسرویس ها برای برنامه نویسها
  • مزیتهای نگهداری و یا Maintenance مربوط به ماکروسرویس ها
  • مزیتهای پایداری و یا Resilience مربوط به ماکروسرویس ها
  • بررسی یک معماری ماکروسرویس نمونه
  • جمع بندی

فصل سوم: چالشهای پیاده سازی ماکروسرویس ها نسبت به Monolith ها

  • پیاده سازی ماکروسرویس ها دشوار می باشد
  • بررسی Performance مربوط به ارتباطات شبکه
  • بررسی Resilience مربوط به ارتباطات شبکه
  • اجرا کردن ماکروسرویس ها در Production
  • چالشهای مربوط به مدیریت مستقل
  • مرور چالشهای مربوط به ماکروسرویس ها

فصل چهارم: معماری های ارتباطات Synchronous

  • معرفی RPC
  • بررسی Service Discovery
  • بررسی Stateless RPC و Stateful RPC
  • بررسی Performance مربوط به ارتباطات Synchronous
  • جمع بندی

فصل پنجم: معماری های ارتباطات Asynchronous

  • معرفی کردن ارتباطات Asynchronous
  • بررسی مباحث اولیه در Message Bus
  • طراحی کردن جریانهای ارتباطات Asynchronous
  • بررسی Distributed Transaction ها
  • بررسی الگوی Saga و الگوی Routing Slip
  • جمع بندی

فصل ششم: توسعه قابلیتهای مختلف در معماری ماکروسرویس‌ ها

  • کنترل کردن کیفیت یک ماکروسرویس‌
  • بررسی تکنیکهای Continuous Delivery
  • بررسی فرهنگ تیمی ماکروسرویس‌ ها

فصل هفتم: مدیریت کردن معماری ماکروسرویس‌ ها

  • تعریف کردن بهبودهای طراحی در ماکروسرویس ها
  • اولویت بندی کردن بهبودهای معماری
  • تاثیرات مربوط به معماری
  • جمع بندی

فصل هشتم: ساختن معماری های ماکروسرویس مقاوم (Resilient)

  • اهمیت Resilient و کیفیت
  • درک کردن System Capacity
  • بررسی کردن ماکروسرویس های Observable
  • پیاده سازی تکنیکهای Resilience

فصل نهم: ارزیابی آمادگی ماکروسرویس ها

  • ماکروسرویس ها یک هدف ضعیف هستند
  • ارزیابی کردن قابلیتهای مربوط به توسعه نرم افزار
  • بررسی چالشهای مربوط به ماکروسرویس ها
  • جمع بندی دوره آموزشی