آموزش کار کردن با NServiceBus در معماری مایکروسرویسی

Scaling Applications with Microservices and NServiceBus 6
تعداد ویدئو 67
زمان دوره 03:07:22
مترجم پرووید
ناظر ترجمه پرووید
دوبلر پرووید
ناظر دوبلاژ پرووید
سایت منتشر کننده پلورال سایت

آموزش کار کردن با NServiceBus در معماری مایکروسرویسی یکی دیگر از آموزش های گروه آموزشی پرووید می باشد که در این قسمت آن را به شما معرفی می کنیم. این بسته آموزشی نیز یکی از دوره های آموزشی دیگر که در حوزه فارسی سازی آموزش های انگلیسی تنظیم شده است می باشد. عنوان این بسته آموزشی، مقیاس کردن سرویس ها در معماری مایکروسرویسی با NServiceBus است که با نام اصلی Scaling Applications with Microservices and NServiceBus 6 از شرکت Pluralsight منتشر شده است.

مکانیزم ارسال پیام و یا Messaging در معماری مایکروسرویسی

در معماری مایکروسرویسی ارتباط موثر بین سرویس های توزیع شده برای پیاده سازی همکاری و انجام عملیات سراسری معماری مورد نظر بسیار اهمیت دارد. ارسال پیام و یا messaging نقشی بسیار کلیدی در ساده سازی این نوع از ارتباطات ایفا خواهد کرد. همین موضوع کمک میکند تا مایکروسرویس ها تا بتوانند به صورت غیرهمزمان و یا اصطلاحاً asynchronous اطلاعات مورد نظر خود را ارسال و دریافت کند. با decouple کردن ارسال کننده پیام و دریافت کننده پیام، مکانیزم ارسال پیام کمک میکند تا سرویس ها بتوانند به صورت مستقل از یکدیگر به کار خود ادامه بدهند که این موضوع به scalability و resilience کمک بسیاری میکند. دو مورد از معمول ترین الگوهای ارسال پیام شامل از publish/subscribe و message queues میباشند. این الگوها کمک میکنند تا سرویس ها بتوانند پیام هایی را به صورت فراگیر ارسال کرده و یا اصطلاحاً broadcast کنند یا پیام هایی را به سرویس های دریافت کننده ی مشخصی ارسال نمایند. تمامی این موضوعات به بهبود قابلیت انعطاف پذیری و تطبیق پذیری معماری کمک میکند. در نتیجه سرویسها میتوانند به صورت مستقل از یکدیگر تکامل پیدا کند. ضمناً، ایجاد تغییر در هرکدام از مایکروسرویسها باعث تغییر در دیگر سرویس ها نخواهد شد. پیاده سازی مکانیزم messaging بر روی قابلیت های از قبیل تحمل خطا و یا fault tolerance نیز تاثیر مثبتی دارد چرا که سرویسها میتوانند failure های موقت خود و تاخیرهای شکل گرفته در ارسال پیام ها را به صورت مؤثری هندل کنند.

تکنولوژی NServiceBus در معماری مایکروسرویسی

تکنولوژی NServiceBus یک ابزار بسیار محبوب است که زیرساختی قوی برای ساختن سیستم های توزیع شده در معماری مایکروسرویسی را در اختیار قرار میدهد. این ابزار گستره وسیعی از قابلیت ها از قبیل message routing و publish/subscribe را ضمن پشتیبانی کردن از دیگر الگوهای ارسال پیام فراهم کرده است. ابزار NService Bus بسیاری پیچیدگیهای شکل گرفتن ارتباطات بین مایکروسرویسها را با فراهم کردن یک فری مورک قابل اعتماد ساده خواهد کرد. به عبارت دیگر، این ابزار بسیاری از پیچیدگی های پروتکل های ارسال پیام را از دید برنامه نویسان مخفی و یا abstract کرده و کمک میکند تا سرویس ها بتوانند بدون نیاز به اتصالات نقطه به نقطه و مستقیم با یکدیگر ارتباط بگیرند. با استفاده از تکنولوژی NServiceBus برنامه نویسان میتوانند تمرکز خود را بر روی پیاده سازی business logic بگذارند، در حالی که زیر ساخت زیرین کار تحویل پیام ها را به روشی قابل اعتماد و مقیاس پذیر و البته با توجه به تحمل پذیری خطا را هندل می کند. این لایه انتزاع و یا abstraction layer به افزایش قابلیت نگهداری و مقیاس پذیری سراسری معماری مایکروسرویسی پیاده سازی شده کمک میکند.

معماری مایکروسرویسی چیست؟

معماری مایکروسرویسی یک روش مدرن طراحی نرم افزار است که بر اساس مجموعه ای از سرویس های مستقل از یکدیگر و loosely coupled کار می کند. این سرویس ها به صورت مستقل از یکدیگر قابل توسعه و deploy شدن هستند. در معماری مایکروسرویسی، هر سرویس وظیفه پیاده سازی یک قابلیت تجاری و یا business capability تک را دارد و می تواند با سایر سرویس ها از طریق API های تعریف شده ارتباط بگیرد. این معماری ماژولار به بهبود قابلیت های انعطاف پذیری و مقیاس پذیری کمک کرده و سرعت توسعه نرم افزار را افزایش میدهد. معماری مایکروسرویسی تلاش میکند تا بتواند سیستم های توزیع شده و غیرمتمرکز ایجاد کند. در این معماری، سرویس ها به صورت مستقل از یکدیگر وظایفی را انجام داده و این موضوع کمک میکند تا روال توسعه نرم افزار به صورت چابک درآید و بتواند به تغییر در نیازمندی های تجاری به خوبی پاسخ بدهد. البته نباید فراموش کرد که معماری مایکروسرویسی علیرغم تمامی مزیت هایی که دارد، پیچیدگی هایی را نیز به همراه خود خواهد آورد. برای مثال، ایجاد ارتباط موثر بین مایکروسرویسها، سازگاری داده ها و پیچیدگی های مربوط به deploy کردن برخی از این موارد هستند. به همین جهت، پیاده سازی موفق معماری مایکروسرویسی نیازمند بررسی دقیق هرکدام از این چالش ها و انتخاب کردن ابزارها و روشهایی مناسب برای پاسخ دادن به هر کدام از این چالش ها می باشد.

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

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

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

فصل دوم: برنامه های کاربردی توزیع شده، معماری مایکروسرویس ها و NServiceBus

  • بررسی ورژن ابزارهای استفاده شده در این دوره آموزشی
  • مقدمه
  • نرم افزارهای Monolithic
  • بررسی عملی یک نرم افزار Monolithic ساده شده
  • نرم افزارهای توزیع شده
  • بررسی روش های RPC و REST
  • بررسی عملی یک نرم افزار SOA ساده شده
  • معماری مایکروسرویسی
  • بررسی Service Bus
  • جمع بندی

فصل سوم: انتقال پیام و یا Messaging با NServiceBus

  • مقدمه
  • تکنولوژی NServiceBus چیست؟
  • آماده سازی
  • تطبیق دادن معماری برای یک سرویس موجود
  • استفاده کردن از NServiceBus در اپلیکیشن Fire on Wheels
  • بررسی پیام ها: Command ها و Event ها
  • مسیریابی و یا Routing در پیام ها
  • آموزش عملی کار با Event ها و Routing
  • پیکربندی NServiceBus
  • انجام Serialization بر روی پیام ها
  • انجام Logging
  • گزینه های مربوط به Persistence
  • پیکربندی Transport ها
  • بررسی Installer ها
  • بررسی Fault Tolerance و Retry
  • بررسی الگوی Request-Response
  • آموزش عملی الگوی Request-Respons و Bus.Reply
  • جمع بندی

فصل چهارم: مدل سازی گردش کار با Saga ها در NServiceBus

  • مقدمه
  • یک Saga چیست؟
  • تعریف کردن یک Saga
  • بررسی الگوهای طراحی
  • بررسی Persistence
  • آموزش عملی ریفکتور کردن از یک سرویس تک به یک Saga
  • بررسی Timeout در Saga ها
  • جمع بندی

فصل پنجم: گذر از اصول اولیه در NServiceBus

  • مقدمه
  • بررسی Distributed Transaction ها
  • بررسی انقضای پیام
  • بررسی ترتیب اجرا شدن Handler ها
  • متوقف کردن، به تعویق انداختن، و فوروارد کردن پیام ها
  • بررسی Property Encryption
  • استفاده کردن از DataBus برای پشتیبانی از پیام های بزرگ
  • بررسی Unobtrusive Mode
  • انجام Auditing بر روی پیام ها
  • زمانبندی کردن ارسال پیام ها
  • بررسی کردن Polymorphic Message Dispatch
  • آموزش عملی Polymorphic Message Dispatch
  • بررسی Message Pipeline
  • بررسی Behavior های سفارشی
  • بررسی Message Mutator ها
  • بررسی Unit of Work
  • بررسی Message Header ها
  • بررسی Gateway
  • بررسی Performance Counter ها
  • مقیاس کردن سرویس ها
  • انجام Unit Testing بر روی Saga ها و Handler ها
  • آموزش عملی انجام Unit Testing
  • جمع بندی

فصل ششم: انجام مانیتورینگ بر روی سرویس های NServiceBus

  • مقدمه
  • بررسی ServiceControl
  • آموزش عملی پاسخ دادن به Event های ServiceControl
  • بررسی ServicePulse
  • پیاده سازی CustomCheck ها
  • بررسی SerivceInsight
  • جمع بندی
دسته های محصولات

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