فهرست بخش های این آموزش:

یکی از فایده های استفاده از Queue ها این است که درصورت Offline بودن بخشی از سیستم در معماری های Microservice خطا های احتمالی را کاهش می دهد. اگر بخشی از سیستم در دسترس نبود، باقی سیستم ها میتوانند تعامل خود را با Queue ادامه دهند.
صف بندی پیام ها یا Message Queuing مهمترین قسمت در معماری میکروسرویس است؛ این یکی از راه هایی است که میتوان داده ها را بین سرویس های مختلف جابجا کرد.
نرم افزار RabbitMQ یکی از Message Broker های پر استفاده در جهان است، دارای بیش از 35,000 استفاده کننده از استارپ ها تا پروژه های تجاری بزرگ.

صف بندی پیام ها این امکان را میدهد که سرویس ها به طور غیر همزمان(Asynchronous) با یکدیگر ارتباط داشته باشند، به عبارت دیگر سرویس هایی که پیام ها را ارسال و دریافت می کنند، با صف تعامل دارند به جای اینکه مستقیما با یکدیگر تعامل داشته باشند.
تولید کننده پیام(Message Producer) پیام خود را در صف قرار میدهد بدون اینکه منتظر بماند تا آن ها پردازش شوند.
پیام ها مستقیما در صف ها قرار نمیگیرند؛ به جای آن، Producer پیام خود را برای Exchange ارسال میکند. سپس Exchange پیام ها را از Producer دریافت میکند و آنها را به سمت Queue مناسب میفرستد(Route می کند). این کار با کمک Binding ها و Routing Key ها انجام می شود. Binding یک اتصال بین Queue و Exchange است.
1. فرستنده(Producer) یک Message را با Exchange مشخص ارسال می کند؛ درصورت مشخص نکردن Exchange مقدار پیش فرض Direct درنظر گرفته خواهد شد.
2. پس از ارسال پیام، Exchange پیام را دریافت میکند و اکنون عهده دار Route کردن پیام به سوی Queue مناسب است. Exchange بسته به Exchange type مشخص شده از روش های مختلفی برای Route کردن Message استفاده می کند (در ادامه انواع Exchange type ها معرفی می شوند)
3. در عکس پایین ما دو Binding از Exchange به دو Queue مختلف داریم. Exchange پیام را به سمت Queue درست Route میکند
4. این پیام ها تا زمانی که گیرنده(Consumer) آن ها را پردازش کند در داخل Queue قرار خواهند گرفت
5. سپس Consumer پیام های پردازش شده را از لیست حذف میکند.


پیش از نصب RabbitMQ احتیاج به نصب ورژن سازگار Erlang با RabbitMQ داریم.
برای دانلود RabbitMQ اینجا کلیک کنید.
برای دیدن ورژن سازگار Erlang با RabbitMQ اینجا کلیک کنید.
برای دانلود Erlang اینجا کلیک کنید.
پس از نصب RabbitMQ احتیاج داریم که پنل مدیریت تحت وب آن را فعال کنیم برای این منظور، کامند لاین را باز کرده و به آدرس زیر یا آدرسی که RabbitMQ را نصب کردید بروید:
C:\Program Files\RabbitMQ Server\rabbitmq_server-3.8.9\sbin
دستور زیر را در کامند لاین وارد کنید تا پنل مدیریت تحت وب شما آماده شود:
rabbitmq-plugins enable rabbitmq_management
اکنون رابط مدیریت RabbitMQ در آدرس http://localhost:15672 در دسترس است. نرم افزار RabbitMQ پنل مدیریت تحت وب راحتی را برای مدیریت و مانیتورینگ سرور فراهم آورده.
در بخش های بعد یاد خواهیم گرفت که چطور از این رابط مدیریت استفاده کنیم.

در بخش های بعدی مباحث پیشرفته تری را از RabbitMQ یاد میگیریم.
این مطالب در کانال تلگرام قرار گرفت. می توانید از تلگرام هم من را دنبال کنید.