يتم استخدام برنامج قائمة انتظار الرسائل (MQ) للتعامل مع الاتصال غير المتزامن. يوفر قائمة الانتظار بروتوكولات غير متزامنة للسماح لاتصالات البيانات داخل النظام.
{{LINE_11}}
ملخص
يتم استخدام برنامج قائمة قائمة انتظار مفتوح المصدر (MQ) للتعامل مع مجموعة متنوعة من المهام بشكل غير متزامن. يتم استخدامه لتمكين الاتصالات غير المتزامنة المتعلقة بالعملية داخل أنظمة تكنولوجيا المعلومات مع نظام مراسلة قائمة الانتظار. يعني التواصل غير المتزامن أن نقاط النهاية التي تنتج وتستهلك الرسائل تتفاعل مع خدمة الانتظار فقط ، وليس مع بعضها البعض. يوفر قائمة انتظار الرسائل MQ بروتوكولات غير متزامنة للتواصل عن بُعد وفي أوقات مختلفة بين المرسلين والمستقبلات. تتكون الرسائل من الطلبات أو الردود أو التنبيهات اعتمادًا على حاجة المرسل. وسيط الرسائل المفتوح المصدر هو جزء مهم من أنظمة البرمجيات لإرسال أو تلقي الرسائل في النص وتنسيقات أخرى. تتيح خدمة قائمة انتظار الرسائل تطبيقات البرامج للتواصل والتدفق بين الخدمات المختلفة داخل النظام. يوفر برنامج قائمة انتظار الرسائل تخزينًا مؤقتًا للرسائل عندما يكون برنامج الوجهة مشغولاً بالمهام الأخرى. داخليًا ، يستخدم برنامج وسيط الرسائل نظام قائمة انتظار لإرسال أو استلام جميع الرسائل والعمل على مبدأ LIFO (الأخير ، الأول). يتم تخزين الرسائل الموضوعة على قائمة الانتظار في المخزن المؤقت خفيفة الوزن ثم تشغيل في الخلفية. ستساعدك مقالة المدونة التالية على التركيز على وسطاء الرسائل الشهير وأفضل خيارات برامج قائمة انتظار الرسائل في عام 2021.
- أباتشي كافكا
- Rabbitmq
- كرفس
- NSQ
- ريديسون
- خيارات برامج قائمة انتظار المراسلة الأخرى للنظر فيها
- افكار اخيرة
1. Apache Kafka - وسيط قائمة انتظار قوية
Kafka هو نظام مراسلة مفتوح المصدر وسيط قائمة انتظار قوي. يتم توزيعها منصة دفق الأحداث ولديها القدرة على التعامل مع حجم كبير من الرسائل. يتم تخزين رسائل الوسيط Kafka على القرص ويسمح لك بإرسال رسائل من نقطة إلى أخرى بسلاسة. يتم تكرار رسائل قائمة انتظار رسالة Apache داخل مجموعة Kafka بأكملها لمنع الحدوث العمليات غير المرغوب فيها مثل أي فقدان البيانات. تم تصميم منصة رسائل Kafka للتعامل مع تدفق الأحداث في الوقت الفعلي ، وتربية الأنابيب وإعادة تشغيل البيانات للعمليات السريعة والقابلة للتطوير. Apache Kafka قائمة انتظار الرسائل الموزعةيتم استخدام البرامج من قبل الآلاف من الشركات لخطوط أنابيب البيانات عالية الأداء وتكاملها مع Apache Storm و Spark. يوفر قائمة انتظار رسالة Apache Kafka أداءً عاليًا مقارنةً بالرسائل والوسطاء في قائمة الانتظار مثلActiveMQ و RabbitMQ وما إلى ذلك. تم بناؤه كنظام مراسلة داخلي تم تطويره بواسطة Linked-In لمعالجة 1.4 تريليون رسالة في اليوم. تعد قائمة انتظار رسائل Kafka منصة أفضل ومناسبة لتنفيذ قوائم الانتظار نظرًا لأنه يعزز الأداء باستخدام عمليات الإدخال/الإخراج المتسلسلة. إنه أيضًا خيار مثالي لحالات استخدام البيانات الكبيرة لأنه يمكن أن يحقق إنتاجية عالية مع عدد محدود من الموارد ، أي ملايين الرسائل في الثانية.
2. rabbitmq - رسائل قوية للتطبيقات
rabbitmq هو أكثر برامج سمسار الرسائل التي تم نشرها على نطاق واسع****- وسيط للرسائل. إنه مكتوب بلغة برمجة Erlang ويدعمها مؤسسة البرمجيات المحورية. إنه يمنح تطبيقاتك منصة مشتركة ومكان آمن لإرسال واستقبال الرسائل. تشمل الميزات الأداء والموثوقية والتوافر العالي والتجميع والاتحاد وما إلى ذلك. يشحن RabbitMQ مع واجهة مستخدم سهلة الاستخدام تتيح لك مراقبة وسيط الرسائل الخاص بك. يمكن تنزيل وسيط رسائل RabbitMQ أو مدير قائمة الانتظار من الموقع الرسمي لجميع أنظمة التشغيل الرئيسية ، أي Linux و Windows و MacOS. يوصى باستخدام مكونات خدمة قائمة انتظار رسائل RabbitMQ لتخفيف عبء عمل وسطاء الرسائل الأعلى وتوسيع وظائفها. المكوّن الإضافي الأكثر أهمية في RabbitMQ هو المكون الإضافي للإدارة وعليك تنشيطه يدويًا. يساعد Bitkq Message Broker Open Source Management البرنامج المساعد للمستخدمين على تشغيل RabbitMQ باستخدامه من خلال واجهة مستخدم رسومية. يساعد في عرض الإحصاءات المختلفة المتعلقة بالرسائل وأيضًا الحفاظ على نظرة عامة على جميع العمليات مع البيانات التي تحدث في قوائم الانتظار.
3. الكرفس - قائمة انتظار المهمة الموزعة
الكرفس عبارة عن نظام قائمة انتظار موزع مفتوح المصدر ومرن و****لمعالجة كميات هائلة من الرسائل. إنها قائمة انتظار مهمة مع التركيز على المعالجة في الوقت الفعلي بينما تدعم أيضًا جدولة المهام. الكرفس مرخص بموجب ترخيص BSD. يحتوي الكرفس على قائمة انتظار بسيطة غير متزامنة أو قائمة انتظار عمل تستند إلى تمرير الرسائل الموزعة. يتم تنفيذ وحدات التنفيذ أو مهام العملية بشكل متزامن على عقد عامل واحد أو أكثر باستخدام المعالجة المتعددة أو eventlet أو gevent. تعمل مهام الكرفس بشكل غير متزامن في الخلفية أو بشكل متزامن. الكرفس مكتوبة باستخدام Python ولكن يمكن تنفيذ البروتوكول بأي لغة. يعد Celery أفضل قائمة انتظار للرسائل للخدمات الدقيقة ، وتستخدم في أنظمة الإنتاج مثل Instagram ، لمعالجة ملايين المهام كل يوم. يمكن أن تعمل أيضًا مع لغات البرمجة الأخرى باستخدام WebHooks. يوجد عميل PHP ، عميل GO ، عميل Node.js وعميل روبي يسمى Rcelery. الكرفس هو قائمة انتظار رسالة مفتوحة المصدر مع نجوم GitHub 17.6k وشوكات جيثب 4K.
4. NSQ - المراسلة الموزعة في الوقت الفعلي
NSQ هو مصدر مفتوح و في الوقت الفعلي في الوقت الفعلي أفضل قائمة انتظار رسائل مصممة للعمل على نطاق واسع. تتم كتابتها بلغة Go وتعالج مليارات الرسائل يوميًا على نطاق واسع. قام نظام إخطار قائمة انتظار رسالة NSQ بتوزيع رسالة وهيكل طوبولوجيا اللامركزية. خصائصها لا توجد نقطة فشل واحدة. إنه يتيح التسامح مع الأعطال وارتفاع التوافر إلى جانب التسليم الفعال للرسائل. NSQ هو منتج ناضج وسهل التكوين وله أداء ممتاز. يتم تحديد جميع معلمات التكوين والنشر على سطر الأوامر ، ولا يوجد في الثنائيات المترجمة أي تبعيات لوقت التشغيل. يمكن أن يكون تنسيق بيانات رسائل NSQ هو JSON أو MSGPACK أو مخازن البروتوكول أو أي شيء آخر لتحقيق أقصى قدر من المرونة. لديها مكتبات GO و Python الرسمية خارج الصندوق بالإضافة إلى العديد من مكتبات العملاء الأخرى. لدى NSQ ثلاثة مكونات رئيسية ضرورية nsqd، nsqlookupd ، وnsqadmin . NSQ هي أداة مفتوحة المصدر مع نجوم Github 19.9k وشوكات GitHub 2.6k.
5. Redisson - خدمة Java الموزعة
Redisson هو عميل Redis Java الأكثر تقدماً وأسهل مع ميزات شبكة البيانات في الذاكرة. إنها أداة مراقبة قائمة انتظار الرسائل بسيطة للغاية وسهلة التعلم****وبالتالي لا تحتاج إلى معرفة أي أوامر redis للبدء في التكوين مع Redisson. مطلوب كائنات ومجموعات ومجموعات قائمة على القائمة على Redis وأقفالها ومزامنة وخدمات للتطبيقات الموزعة على منصة Java. قد يتم تشغيل خدمات المهام على Java بالتوازي مع التطبيقات الموزعة المعتمدة على Redis مع ExecutorService و SchedeDexecutorService. Redisson لديه دعم لتكوينات إعادة الإعادة ، وإدارة دعم خدمات redis ، والمحرك ، وكائنات Java الموزعة ، وأقفال Java الموزعة والمزامنة ، وخدمات Java الموزعة ، ومجموعات Java الموزعة ، والتكامل مع Java Frameworks ، ودعم SSL و OSGI ، والترميزات الداعمة ، والتوزيع ، وسيط للحانة/الفرعية والمراسلة. مشروع Open Redisson Project 16.9K Github Stars و 4.1k Github Forks.
خيارات برامج قائمة انتظار الرسائل الأخرى للنظر في:
- Apache ActiveMq هو خادم أنماط الرسائل والتكامل المصدر المفتوح المصدر قوي.
- الثور للتعامل مع الوظائف والرسائل الموزعة في NodeJS.
- NATS المراسلة هي نظام مراسلة مفتوحة المصدر.
- Qutrunk Software كمنصة مراسلة للخدمة.
- benthos معالجة الدفق الفاخرة أصبحت دنيوية من الناحية التشغيلية
- Vernemq وسيط رسائل MQTT الموزع لحالات الاستخدام العالي الجودة والصناعية.
- Kombu مكتبة قائمة انتظار المهام الموزعة لبيثون.
- LiftBridge دفق المراسلة الخفيفة الوزن والخطأ.
- enqueue dev قائمة انتظار الرسائل ، قائمة انتظار الوظائف ، البث لـ PHP ، Symfony ، Laravel و Magento.
افكار اخيرة:
لقد ناقشنا أكثر وسطاء الرسائل شيوعًا ومكتبات قائمة انتظار المهام التي تمتد على العديد من لغات البرمجة والتطبيقات. هناك الكثير من منصات Microservices ذات المصدر المفتوح والمصدر المغلقة ، والجديدة في طريقها لحل المشكلات التي يواجهها المهندسون مع الجدولة. لذلك ، من الضروري حقًا أن تفهم إيجابيات وسلبيات الأدوات المختلفة ، ثم تلتقط واحدة مناسبة لاحتياجاتك. عندما يكون لديك خدمة قائمة انتظار من المراسلة السحابية مع لوحة معلومات سهلة الاستخدام وأمان ممتاز ، يمكنك جعل تطبيق عملك أكثر كفاءة من أي وقت مضى. في دروسنا القادمة ، سنناقش موضوعات أكثر إثارة للاهتمام من منصات المراسلة المفتوحة المصدر**. _ يمكنك الانضمام إلينا على Twitter ، LinkedIn و PAGE Facebook. ما هو أفضل برنامج قائمة انتظار الرسائل المفتوحة المصدر الذي تستخدمه؟. إذا كان لديك أي أسئلة أو ملاحظات ، يرجى _ الاتصال.
يستكشف:
لدينا أيضًا العديد من المقالات الأخرى المتعلقة بالإدارة اليومية لخادمك.