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

Scaling Applications with Microservices, MassTransit 3, and RabbitMQ
تعداد ویدئو 54
زمان دوره 01:54:14
مترجم پرووید
ناظر ترجمه پرووید
دوبلر پرووید
ناظر دوبلاژ پرووید
سایت منتشر کننده پلورال سایت

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

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

تکنولوژی RabbitMQ یک message broker بسیار قدرتمند و محبوب است که می تواند نقشی کلیدی را در ساده تر کردن ارتباط بین مایکروسرویس ها در یک معماری توزیع شده ایفا کند. تکنولوژی RabbitMQ پروتکل AMQP که مخفف Advanced Message Queuing Protocol می باشد را پیاده سازی کرده و مکانیزمی قابل اعتماد برای ارتباطات ناهمزمان بین سرویس ها را در اختیار ما قرار میدهد. با استفاده کردن از RabbitMQ مایکروسرویس ها میتوانند message ها و event های مختلفی را بین یکدیگر رد و بدل کنند که این موضوع به loosely coupled شدن سرویس ها از یکدیگر کمک می کنند. همین موضوع نهایتاً به افزایش مقیاس پذیری، تحمل خطا و responsive بودن سراسری سیستم می انجامد. تکنولوژی RabbitMQ به عنوان یک هماهنگ کننده و یا mediator کمک میکند تا پیام ها به صورت کارآمد و موثر بین مایکروسرویس ها منتقل شوند که این موضوع باعث میشود تا مایکروسرویس ها بتوانند مستقل از یکدیگر تکامل پیدا کنند.

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

تکنولوژی MassTransit یک فریم ورک open-source برای اپلیکیشن های توزیع شده در دات نت است. نقش این تکنولوژی ساده تر کردن پیاده سازی ارتباطات مبتنی بر پیام در معماری مایکروسرویسی می باشد. این تکنولوژی سوار بر تعداد متنوعی از مکانیزم های ارسال پیام از قبیل RabbitMQ پیاده سازی شده است. تکنولوژی MassTransit یک abstraction سطح بالا را در اختیار برنامه نویسان قرار میدهد تا آنها بتوانند با سادگی بیشتری الگوهای messaging را از قبیل publish/subscribe و request/response را پیاده سازی کنند. تکنولوژی MassTransit .بسیاری از پیچیدگی های مربوط به message routing و serialization و delivery را پیاده سازی کرده و این موضوع به برنامه نویسان کمک میکند تا تمرکز خود را بر روی business logic درون مایکروسرویس ها بگذارند. استفاده کردن از MassTransit به برنامه نویسان کمک می کند تا message contract ها و handler های مورد نظر خود را تعریف کرده و به separation of concerns بالاتری دست یابند. همین موضوع در نهایت کمک میکند تا یکپارچه سازی سرویس های جدید به درون معماری مورد نظر ساده تر انجام بشود.

معماری مایکروسرویسی (Microservices Architecture)

معماری مایکرو سرویسی یک روش طراحی نرم افزار است که در آن یک اپلیکیشن در قالب مجموعه ای از سرویس های کوچک و مستقل از یکدیگر پیاده سازی می شود. هرکدام از سرویس ها وظیفه و یا business capability خاصی را پیاده سازی می کنند. در این معماری، سرویس ها با استفاده از API های تعریف شده یکدیگر، با دیگر سرویس ها ارتباط برقرار می کنند. ضمناً، امکان استفاده کردن از سیستم های ارسال پیام از قبیل RabbitMQ و فریم ورک هایی مانند MassTransit برای انجام ارتباطات ناهمزمان نیز وجود دارد. معماری مایکروسرویسی (Microservices Architecture) مزیت های بسیار زیادی از قبیل بهبود مقیاس پذیری، انعطاف پذیری و افزایش سرعت سیکل توسعه نرم افزار را به ارمغان می آورد. با تمام این مزیت ها، استفاده کردن از این معماری چالش هایی را نیز ایجاد میکند. برخی از این چالش ها شامل مواردی از قبیل مدیریت کردن ارتباط بین مایکروسرویس ها، تضمین سازگاری داده ها و مدیریت کردن پیچیدگی های مربوط به deploy کردن سرویس ها میباشد. پیاده سازی موفق این معماری نیازمند بررسی دقیق این چالش ها و استفاده کردن از ابزارهای مناسب و الگوهای موثر برای ساختن یک سیستم مقاوم مقیاس پذیر با قابلیت نگهداری بالا می باشد.

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

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

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

فصل دوم: بررسی معماری ارسال پیام و یا Messaging Architecture

  • بررسی ورژن های ابزارهای استفاده شده در این آموزش
  • بررسی این دوره آموزشی
  • سیستم های توزیع شده
  • بررسی Message Broker
  • بررسی الگوهای ارسال پیام
  • بررسی Message Broker ها و MSMQ
  • بررسی معماری مایکروسرویسی
  • چه زمان از معماری مایکروسرویسی استفاده کنیم؟
  • راه اندازی یک معماری مایکروسرویسی
  • سناریوهای ارسال پیام
  • جمع بندی

فصل سوم: ارسال و دریافت پیام با RabbitMQ

  • مقدمه
  • RabbitMQ چیست؟
  • نصب کردن RabbitMQ
  • بررسی واژگان و اصطلاحات
  • بررسی انواع Exchange ها
  • ارسال پیام ها با Client API
  • بررسی پلاگین مدیریت
  • دریافت پیام ها با Client API
  • بررسی Correlation
  • گزینه های قابلیت اطمینان و یا Reliability
  • بررسی Virtual Host ها
  • امنیت
  • جمع بندی

فصل چهارم: پیاده سازی یک Service Bus با MassTransit

  • مقدمه
  • پیکربندی کردن MassTransit
  • ارسال پیام
  • دریافت پیام
  • بررسی کردن MassTransit و Service Bus
  • مقایسه MassTransit و RabbitMQ
  • بررسی Type Handling
  • زمانبندی کردن ارسال پیام ها
  • انجام مانیتورینگ بر روی سیستم توزیع شده
  • تزریق وابستگی
  • واکنش به شکست و یا Failure
  • بررسی الگوی Request-Response
  • جمع بندی

فصل پنجم: گسترش دادن Message Pipeline با MassTransit Middleware

  • مقدمه
  • بررسی Middleware و Pipeline
  • ترکیب کردن Middleware ها
  • بررسی Circuit Breaker
  • بررسی Rate Limiter
  • بررسی Latest Filter
  • جمع بندی

فصل ششم: مدل سازی Workflow ها با Saga ها

  • مقدمه
  • نیاز به Saga ها
  • یک Saga چیست؟
  • مثالی از یک Saga
  • بررسی Automatonymous و MassTransit Saga
  • بررسی کلاس Saga State
  • ساختن یک Saga
  • راه اندازی کردن یک Saga
  • جمع بندی
دسته های محصولات

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