مقدمة إلى المفاهيم الأساسية لـ RabbitMQ

رسم تخطيطي لمفاهيم RabbitMQ

رسم تخطيطي لمفاهيم RabbitMQ

شرح المفهوم

الرسالة

الرسالة تتكون من رأس الرسالة (أي، معلومات تكوين إضافية) وجسم الرسالة (أي، محتوى الرسالة).

الناشر

المنتج للرسالة، وهو تطبيق عميل يقوم بنشر الرسائل إلى تبادل.

التبادل

يتم استخدام التبادل لاستقبال الرسائل المرسلة بواسطة المنتجين وتوجيه هذه الرسائل إلى الصفوف في الخادم.

هناك أربعة أنواع من التبادلات:

  • النوع المباشر: يقارن مفتاح التوجيه في الرسالة مع مفاتيح التوجيه المرتبطة بجميع الربطات للتبادل. إذا كانت هناك مطابقة، يتم إرسال الرسالة إلى الصف الخاص بهذا الربط.

  • النوع بالموضوع: يقارن مفتاح التوجيه في الرسالة مع مفاتيح التوجيه المرتبطة بجميع الربطات للتبادل. إذا كانت هناك مطابقة، يتم إرسال الرسالة إلى الصف الخاص بهذا الربط.

  • النوع النشر العام: يقوم بتوجيه الرسائل مباشرة إلى الصفوف المقابلة لجميع الربطات، متجاهلاً مفتاح التوجيه أثناء التوجيه.

  • النوع الرؤوس: يقوم بمطابقة الرؤوس في الرسالة مع المعلمات المرتبطة بجميع الربطات للتبادل. إذا كانت هناك مطابقة، يتم إرسال الرسالة إلى الصف الخاص بهذا الربط (نادراً ما يُستخدم، ويشبه النوع المباشر).

ملاحظة: سيتم توفير شرح مفصل لأنواع التبادل في الأقسام التالية عن أوضاع العمل. هذا فقط نظرة عامة.

الربط

العلاقة المستخدمة لإقامة اتصال بين صفوف الرسائل والتبادلات.

الصف

صف رسائل يستخدم لتخزين الرسائل حتى يتم توصيلها إلى المستهلكين. يعمل ككلاً للرسائل والنقطة النهائية للرسائل. يمكن توصيل الرسالة إلى صف واحد أو أكثر. تبقى الرسائل في الصف، في انتظار اتصال المستهلكين واسترجاعها.

الاتصال

اتصال شبكة، مثل اتصال TCP.

القناة

القناة هي اتصال افتراضي يتم إنشاؤه داخل اتصال TCP حقيقي. يتم إرسال جميع أوامر AMQP من خلال القنوات، سواء كان ذلك نشر الرسائل، الاشتراك في الصفوف، أو استقبال الرسائل. يقدم هذا التصميم مفهوم القنوات لإعادة استخدام اتصال TCP واحد، حيث أن إنشاء وإنهاء اتصالات TCP مكلف على نظام التشغيل.

المستهلك

المستهلك للرسائل، يمثل تطبيق عميل يسترجع الرسائل من صفوف الرسائل.

المضيف الافتراضي

يمثل المضيف الافتراضي مجموعة من التبادلات، وصفوف الرسائل، والكائنات ذات الصلة. إنه بيئة خادم مستقلة تشترك في نفس بيئة الهوية والتشفير. كل مضيف افتراضي في الأساس نسخة صغيرة من خادم RabbitMQ، مع صفوفه وتبادلاته وربطاته وآليات الإذن الخاصة به.

المضيفات الافتراضية هي مفهوم أساسي في AMQP ويجب تحديدها عند إنشاء اتصال. المضيف الافتراضي الافتراضي لـRabbitMQ هو /.

ملاحظة: المضيف الافتراضي هو شكل من استراتيجيات عزل الموارد التي تسمح بتقسيم مناطق معزولة متعددة داخل نفس خادم RabbitMQ.

الوسيط

يمثل كيان خادم الرسائل المادي.