در این مقاله، کتابخانه MassTransit را بررسی می کنیم و از آن برای کپسوله کردن عملیات RabbitMq استفاده می کنیم. MassTransit یک لایه بر روی انتزاع بر روی سرویس های متداول کارگزار پیام ارائه می دهد.
کارگزار پیام چیست؟
کارگزاران پیام، اجزای نرم افزاری یا خدماتی هستند که امکان اشتراک گذاری اطلاعات بین برنامه ها را فراهم می کنند. آنها این کار را با ترجمه پیام ها با استفاده از پروتکل های پیام رسانی رسمی انجام می دهند. کارگزاران پیام به برنامه هایی که به زبان ها و پلتفرم های مختلف نوشته شده اند اجازه می دهند با یکدیگر ارتباط برقرار کنند. علاوه بر این، کارگزاران پیام میتوانند پیامها را به مشتریان مختلف ذخیره، اعتبارسنجی و مسیریابی کنند.
اجزای کلیدی یک کارگزار پیام عبارتند از:
- Producer: برنامه منبعی که پیام را ارسال می کند
- Consumer: برنامه مشتری که پیام را دریافت می کند.
- صف: ساختار داده ای که برای ذخیره پیام های دریافتی استفاده می شود
- Exchange: عوامل مسیریابی مسئول مسیریابی پیام ها به صف های مختلف، بسته به اتصال
چرا RabbitMQ
RabbitMq یکی از پرکاربردترین خدمات واسطه پیام است. در دسترس بودن و مقیاس پذیری بالا مشخص می شود. RabbitMq بسیار سبک وزن است و از پروتکل های پیام رسانی مختلف پشتیبانی می کند.
استفاده از آن در برنامه های کاربردی برای کمک به انتقال، دریافت و ذخیره پیام ها آسان است و اطمینان حاصل می شود که پیام های تولید کننده هرگز گم نمی شوند.
چرا MassTransit؟
هدف اصلی MassTransit ارائه یک انتزاع سازگار و دوستانه در مورد انتقال پیام های رایج مانند RabbitMq، Azure Service Bus، ActiveMQm Amazon SQS و غیره است. .
MassTransit ناهمزمان است و از کتابخانه TPL برای مصرف همزمان پیام ها استفاده می کند. همچنین از مدیریت اتصال، مدیریت استثنا و تلاش مجدد پشتیبانی می کند. برای مطالعه بیشتر در مورد مزایای استفاده از MassTransit نسبت به حمل و نقل مانند RabbitMq، پیوند موجود در اسناد رسمی MassTransit را دنبال کنید.
راه اندازی RabbitMq (با Docker)