RabbitMQ هي واحدة من أكثر رسائل المصادر المفتوحة شعبية التي يتم استخدامها اليوم. Weses ، بشكل غير مدرك ، يمكنك استخدام RabiitMQ تحت غطاء محرك العديد من التطبيقات التي تستخدمها كل يوم. في هذه المساهمة الصديقة للمبتدئين ، ستتعلم كيفية استخدام RabbitMQ مع Docker و Docker. لنبدأ!
جدول المحتويات #
ما هو rabbitmq #
RabbitMQ هو برنامج وسيط رسائل يعمل كأشرطة متوسطة لأجزاء مختلفة من تطبيقه. يساعدك على إرسال واستقبال الرسائل بشكل موثوق وكفاءة بين أجزاء مختلفة من التطبيق. RabbitMQ مفتوح المصدر ويستند إلى بروتوكول قائمة انتظار الرسائل الممتد (AMQP). جزء قائمة الانتظار هو الأول في المقام الأول (FIFO) ، حيث يتم الاحتفاظ بترتيب الرسائل الواردة. يقرأ التعريف الرسمي للأرنب:
RabbitMQ هو وسيط مراسلة وناضج موثوق ، ويمكن توفيره بسهولة في البيئات السحابية والبارات وعلى جهازك المحلي. يتم استخدامه حاليًا من قبل الملايين في جميع أنحاء العالم.
تخيل rabbitmq كمكتب بريد لتطبيقك. إذا أراد جزء من طلبك إرسال رسالة إلى جزء آخر ، فسيتم إرسال الرسالة إلى RabbitMQ. RabbitMQ ثم يحفظ الرسالة ويسلمها إلى المستلم الصحيح.
لماذا تستخدم rabbitmq #
RabbitMQ مفيد لمجموعة متنوعة من المهام ، بما في ذلك:
- المعالجة غير المتزامنة: يمكن استخدام RabbitMQ لتخفيف المهام التي لا يتعين القيام بها على الفور ، على سبيل المثال B. إرسال e -mails أو معالجة الصور. هذا يمكن أن يساعد في تحسين أداء وتفاعل التطبيق الخاص بك.
- اتصالات الخدمات المجهرية: يمكن استخدام RabbitMQ لتسهيل الاتصال بين microdeses المختلفة في بنية الخدمات المجهرية. يمكن أن يساعد هذا في فصل الخدمات الدقيقة وجعلها أكثر استقلالية.
- قوائم انتظار المهام: يمكن استخدام RabbitMQ لإنشاء مكاتب صيانة المهام المستخدمة لتوزيع المهام بين العديد من الموظفين. يمكن أن يساعد هذا في تحسين قابلية التوسع وموثوقية التطبيق الخاص بك.
RabbitMQ مفيد بشكل خاص في بيئة الخدمات المجهرية. Microservices هي نمط بنية البرمجيات التي تقوم بتكليف التطبيق كمجموعة من الخدمات المقترنة بشكل فضفاض. يمكن استخدام RabbitMQ لتسهيل التواصل بين هذه الخدمات وتطويره وجاهزه وتوسيع نطاقه بشكل مستقل عن بعضهم البعض.
شعبية RabbitMQ #
RabbitMQ هو واحد من أكثر صانعي صانعي. يتم استخدامه من قبل مجموعة متنوعة من المنظمات ، بما في ذلك الشركات الناشئة الصغيرة والشركات الكبيرة. RabbitMQ هو خيار شائع بسبب موثوقيته وقابلية التوسع والردية.
من حيث الشعبية ، فإن RabbitMQ أكثر شعبية من Zeromq و ActiveMQ و RocketMQ. ومع ذلك ، فإن Kafka أكثر شعبية من RabbitMQ وفقًا لبيانات Google Trends. يمكن ملاحظة ذلك في الرسم التالي:
قد تكون شعبية Kafka بسبب القدرة على إدارة تدفقات البيانات مع إنتاجية عالية واستخدامها في تطبيقات البيانات الكبيرة. ومع ذلك ، يعد RabbitMQ خيارًا جيدًا لمعظم التطبيقات ، خاصة بالنسبة للتطبيقات الأصغر والميكروديان.
يمكن أيضًا إدارتها بواسطة Cloud AMQP أو VMware Tanzu RabbitMQ.
خذ RabbitMQ مع Docker #
Docker عبارة عن منصة للحاويات يمكنك من خلالها حزم تطبيقاتك وتبعياتك في الحاويات. الحاويات هي بيئات معزولة يمكن تنفيذها على أي نظام قام بتثبيت Dockers. هذا ببساطة يجعل من الأسهل تنفيذ تطبيقاتك وتنفيذها بشكل ثابت وموثوق.
لتشغيل RabbitMQ مع Docker ، يمكنك استخدام صورة Docker الرسمية. الصورة متوفرة بنكهات مختلفة ، بما في ذلك صورة أساسية وصورة مع المكون الإضافي للإدارة وصورة مع البرنامج المساعد Schaufel.
يوفر المكون الإضافي للإدارة واجهة مستخدم قائمة على الويب لإدارة خادم RabbitMQ الخاص بك. يمكن استخدام المكون الإضافي للمجرفة لنقل الرسائل بين خوادم أو مجموعات مختلفة من RabbitMQ.
لتنفيذ RabbitMQ مع المكون الإضافي للإدارة ، يمكنك استخدام الأمر التالي:
docker run --hostname rabbitmq --name rabbit-mq -p 15672:15672 -p 5672:5672 rabbitmq:3-management
يبدأ هذا الأمر حاوية RabbitMQ في الوضع المنفصل (-D) مع اسم المضيف rabbitmq
والاسم rabbit-mq
. بالإضافة إلى ذلك ، يتم تعيين منافذ الحاوية 15672 و 5672 إلى منفذ المضيف 15672 و 5672. يتم استخدام المنفذ 15672 للمكون الإضافي للإدارة ويستخدم المنفذ 5672 لبروتوكول AMQP.
إذا قمت بذلك ، فهناك إخراج مثل:
يمكنك أيضًا تشغيل الحاوية بواحدة -d
المعلمات لتفقد الإخراج. نظرًا لعدم إرفاق أحجام ، سيتم حذف الرسائل عند إعادة تشغيل الحاوية.
بمجرد تنفيذ الحاوية ، يمكنك الوصول إلى المكون الإضافي للإدارة عن طريق زيارة متصفح الويب الخاص بك. اسم المستخدم القياسي وكلمة المرور كلاهما ضيف ، كما هو موضح أدناه:
بعد التسجيل ، يمكنك رؤية لوحة معلومات على النحو التالي:
بعد ذلك ، تعرف على كيفية القيام بـ Rabbit MQ باستخدام Docker.
Race RabbitMQ أسهل مع Docker Compose # #
Docker Compose هي أداة لتحديد وتنفيذ تطبيقات Docker متعددة المونتي. يمكنك تحديد خدمات التطبيق الخاص بك في ملف YAML ثم بدء جميع الخدمات وإيقافها بأمر واحد.
لتنفيذ RabbitMQ مع Docker Compose ، يمكنك إنشاء ملف compose.yml مع المحتوى التالي:
version: "3.9"
services:
rabbitmq:
image: rabbitmq:3-management
container_name: rabbitmq
ports:
- 5672:5672
- 15672:15672
volumes:
- rabbitmq_data:/var/lib/rabbitmq
volumes:
rabbitmq_data:
يحدد هذا الملف docker-corm.yml خدمة تسمى rabbitmq
هذا يستخدم صورة RabbitMQ: 3-الإدارة. بالإضافة إلى ذلك ، يتم تعيين اتصالات الحاوية 5672 و 15672 منفذ المضيف 5672 و 15672. وأخيراً ، فإنه يخلق وحدة تخزين يسمى RabbitMQ_Data الذي تبقى مع بيانات RabbitMQ.
لبدء RabbitMQ مع Docker ، يمكنك تنفيذ الأمر التالي:
docker compose up
يبدأ هذا الأمر حاوية RabbitMQ. يمكنك القيام بذلك في وضع منفصل docker compose up -d
إذا أردت. هناك الإصدار التالي إذا كان كل شيء على ما يرام:
بمجرد تنفيذ الحاوية docker run
. إذا كنت تبحث عن مثال شامل منتج ومستهلك ، فاقرأ هذا المنشور على RabiitMQ و Node.js مع Docker و Docker.
دبلوم #
RabbitMQ هو وسيط رسائل قوي ومتعدد الاستخدامات يمكن استخدامه لمجموعة متنوعة من المهام. من خلال تنفيذ RabbitMQ مع Docker و Docker ، يمكنك بسهولة توفير وإدارة خادم RabbitMQ الخاص بك.
آمل أن يكون هذا الدليل قد ساعدك في البدء مع Rabbitmq و Docker. إذا كان لديك أي أسئلة ، فيمكنك ترك تعليق أدناه.