شاید بخواهید که از یکی از پرکاربردترین ابزارهای پیامنگاری، یعنی RabbitMQ در ویندوز استفاده کنید و در عین حال، علاقهای به استفاده از آن بر روی Azure نداشته باشید. شاید هم تمایلی به درخواست از همکار IT خود برای اضافه کردن یک سرور جدید برای این منظور نداشته باشید. Docker راهحلی برای شما خواهد بود.
نصب Docker
۱) ابزار Docker را برای ویندوز نصب کنید. برای این منظور، ابتدا آن را دریافت کرده و فایل نصبکننده، بقیه کار را انجام خواهد داد.
۲) Docker را اجرا کنید و منتظر نصب آن بمانید. در این حال، یک آیکون به شکل یک نهنگ در نوار وظیفه مشاهده خواهید کرد
۳) حالا Powershell را باز کرده و دستور زیر را تایپ نمایید.
docker –version
اگر هیچ خطایی مشاهده نمیکنید و نسخه Docker را میبینید، این ابزار بهدرستی بر روی سیستمتان نصب شده است.
۴) اکنون باید RabbitMQ image را دریافت کنیم. در اینجا این دانلود را با کمک یک پلاگین مدیریتی انجام میدهیم که بتوانیم رابط کاربری سرور RabbitMQ را در ویندوز ببینیم. فرمان pull برای دانلود یا ارتقای یک «داکر ایمیج» مورد استفاده قرار میگیرد.
docker pull rabbitmq:3-management
۵) حالا با یک فرمان ساده، ایمیج RabbitMQ Docker را اجرا میکنیم.
با گزینه p، پورتهای RabbitMQ در ویندوز را به پورتهای کانتینر Docker ارجاع میدهیم. پورت پیشفرض رابط کاربری RabbitMQ GUI برابر 15672 و برای ابزار پیامنگاری RabbitMQ برابر 5672 است. با استفاده از متغیر name یک اسم برای کانتینر انتخاب میکنیم تا شناسایی آن برایمان راحتتر از یک GUID باشد. در نتیجه، میتوانیم به شکلی سادهتر، کانتینرها را متوقف، حذف و مدیریت کنیم. در نهایت، ایمیج Docker را برای اجرا مشخص میکنیم. در اینجا، این همان ایمیجی است که آن را دریافت کردهایم.
اگر مراحل بهخوبی پیش رفته باشند، یک خروجی GUID مشاهده خواهید کرد.
۶) با باز کردن آدرس http://localhost:15672/#/ در مرورگرتان، ایمیج را تست کنید. برای ورود از کاربری پیشفرض guest استفاده نمایید. در نتیجه باید رابط کاربری مدیریت RabbitMQ را ببینید.
اگر این صفحه را میبینید، باید گفت که بخش مهم کار انجام شده است.
ارسال و خواندن پیام در RabbitMQ در ویندوز
۷) حالا همهچیز برای ارسال و خواندن پیام در پایانه ابزار RabbitMQ آماده است. در اینجا ممکن است شما گزینههای مختلفی در اختیار داشته باشید؛ ولی چون در پروژه نمونه در اینجا از .NET استفاده شده، یک مثال C# را بررسی میکنیم. فقط مقادیر پیشفرض زیر را برای استفاده در هر زبان برنامهنویسی در نظر داشته باشید.
HostName: “localhost” UserName: “guest” Password: “guest” Port: 5672
در اینجا یک Windows Console Application جدید ایجاد شده، پکیج RabbitMQ.Client Nuget نصب میشود. سپس با اضافه چند خط کد، یک صف ساخته شده و هر ۵۰۰ میلیثانیه یکبار، یک پیام ارسال میگردد. البته یک ترفند در رابطه با ابزار RabbitMQ استفاده شده است. پیامها مستقیماً به صف ارسال میشوند؛ بدون آن که تبدیل خاصی نیاز داشته باشند. این کار از طریق تنظیم مسیر کلیدی انتشار با همان نام صفی که قبلاً به آن اشاره شد، صورت میگیرد.
۸) در پایان، باید حتماً مطمئن شویم که پیامها بهدرستی توسط صف دریافت میشوند. برای این منظور میتوانیم رابط کاربری مدیریت خود را باز کنیم. سپس روی دکمه Queues کلیک کرده و گزینه testqueue را انتخاب کنیم. اگر ارسال پیامها بهدرستی در حال انجام شدن باشد، باید حرکت خطوط نمودار را ببینیم.
در همین حال، می توانید روی منوی Get messages کلیک کنید و متن پیامهای دریافتی را مشاهده نمایید.
جمعبندی
در این مطلب نحوه استفاده از RabbitMQ را در ویندوز در بستر Docker بررسی کردیم. Docker احتمالاً یک بستر بهینه برای صرفهجویی فوقالعاده در زمان است که میتواند بسیار مفید واقع شود.
منبع: medium.com