Ali Majidi
Ali Majidi
خواندن ۲ دقیقه·۳ ماه پیش

RabbitMQ [ use in asp.net core ]

خب همانطور که میدانید سرویس ها و اپلیکیشن ها مانند ما انسان ها با یکدیگر صحبت می کنند و در دنیای الکترونیک این ارتباط را Message Broker ها برای سرویس ها و اپلیکیشن ها فراهم می کنند.

یکی از این Message Broker ها که محبوب دل برنامه نویس های دات نتی هم هست Rabbit MQ می باشد. راحتی در پیاده سازی ، امکانات فراوان جهت مدیریت پیام ها ( ایجاد صف ، نگهداری پیام ها بر روی دیسک و ... ) و همچنین محیط گرافیکی مدیریتی از جمله امکاناتی که این Message Broker در اختیار ما قرار میده. با زبان Erlang توسعه داده شده است و از پرتکل های مختلفی پشتیبانی می کند که ما در اینجا با پرتکل AMQP سرکار داریم. همچنین پیام بصورت باینری بین سرویس ها جا به جا می شود.

اما پرتکل AMQP ;

برای اینکه ما با این پرتکل کار کنیم و بتونیم بین سیستم هامون ارتباط ایجاد کنیم و پیام رسانی را انجام بدیم نیازمند این هستیم که Entity های مهم سیستم بشناسیم.

1- Producer : همون اپلیکیشن یا سرویسی هست که پیام را ایجاد می کند.

2- Exchange : عملا اداره پست ما هست ، وظیفه اش اینه که بر اساس نوعی که داره و کلید ارتباطی پیام را به صف مربوطه برسونه و انواع مختلفی داره که در ادامه اشاره خواهیم کرد..

3- Queue : صف ، پیام ها از طریق Exchange به یک یا چند صف ارسال می شوند و صف ها بر اساس کانفیگ یا تنظیماتی که براشون در نظر گرفتیم با متصل شدن به استفاده کننده یا همون Consumer پیام را بدستشون میرسونن

4- Consumer : استفاده کننده پیام هست که پیام را از صف دریافت می کنه و میتونه در جواب دریافت پیام پاسخی را نیز به همون صف و تولید کننده پیام برسونه

در لینک زیر نمونه هایی از RabbitMQ پیاده سازی شده که در ادامه مقالات بیشتر شرح میدیم و شما در پایان می بینید که این سرویس جذاب چطور به کمکتون میاد تا بتونید ارتباط پیام رسانی میان سرویس هاتون را پیاده سازی کنید:

https://github.com/incodity-ir/RabbitMQSamples

در آخر ممنون از وقتی که گذاشتین و مطالعه کردین :)

rabbitmqasp net core
مرسی از خالق یکتا که مرا آفرید ، خانواده خوب ، عشق پاک و بهترین بانوی دنیا را بهم داد . برنامه نویسی و طراحی وب یک کار خلاقانه است به ادما انگیزه میده باعث میشه رشد کنن .
شاید از این پست‌ها خوشتان بیاید