هل هناك حل ServiceBus حيث لا يستهلك المستهلكون الأحداث؟ (مستهلكي متعددة يتلقون الحدث نفسه)

StackOverflow https://stackoverflow.com/questions/1727854

سؤال

كنت أقرأ عن ActiveMQ الذي يبدو وكأنه تنفيذ كبير لخدم الخدمة حيث يمكن للمنتجين نشر الرسائل والعمليات الأخرى التي يمكن أن تتلقىها.

ومع ذلك، عند قراءة الوثائق، يبدو أن المنتج يجب أن يعطي "نقطة النهاية" عند إرسال رسالة.

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

ماذا سيكون أفضل منتج لديك هذا النوع من الممتلكات؟

القيود: - يجب أن يكون لها واجهات على الأقل .NET و PHP - يجب أن تعمل عبر حدود الماكينة

شكرًا

هل كانت مفيدة؟

المحلول

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

عند استخدام الموضوعات، يحصل جميع المستهلكين المشتركين على الحدث الذي قمت بنشره.

تفقد هذا: http://activemq.apache.org/how-does-a-queue-compare-to-a-topic.html.

نصائح أخرى

لا أعرف عن الأفضل، لكنني استخدمت D-Bus. في المشروع أين كانت مهمة مثل لك. تحقق من وثائقها.

المراجع إلى التطبيقات:

C # تنفيذ D-Bus

ملزمة PHP و DBU

آمل أن يساعد Wuill.

إذا كنت موافق مع وجود الخدمة المستضافة على السحابة، Microsoft ServiceBus. يتيح هذا السيناريو من خلال نموذج الموضوع / الاشتراك. ضمن هذا النموذج، يرسل منتجك رسالة إلى الموضوع (قائمة انتظار لجميع الأغراض العملية)، وأي شخص مشترك فيه سيحصل على نسخة من الرسالة. للمزيد من السيناريوهات المتقدمة، يمكنك حتى إنشاء قواعد ومرشحات لتحديد العملاء الذين يحصلون على الرسائل. هناك كل من .NET وراحة برامج أبيس لهذا.

يمكنك التحقق من الكتابة كاملة من القدرات هنا. وبعد يتضمن DOC نموذج التعليمات البرمجية حول كيفية استخدام المكتبات العميلية لهذا. هناك أيضا عينات حول كيفية استخدام ServiceBus مع Java و PHP، في حال كنت بحاجة إلى دعم لهذه اللغات.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top