Wir benötigen ein Messaging-System / einen Service-Bus mit verteilter Architektur mit der Fähigkeit zum Veröffentlichen / Abonnieren. Hat jemand Empfehlungen für ein Framework, das wir für .net-Anwendungen verwenden können?
Wir benötigen ein Messaging-System / einen Service-Bus mit verteilter Architektur mit der Fähigkeit zum Veröffentlichen / Abonnieren. Hat jemand Empfehlungen für ein Framework, das wir für .net-Anwendungen verwenden können?
Antworten:
NServiceBus erfreut sich wachsender Beliebtheit. Es ist auch Open Source. Hier ist eine Hanselminutes-Episode mit Scott Hanselman, der mit Udi Dahan über NServiceBus spricht, um das Problem zu lösen. Sie sollten es auf jeden Fall bewerten.
UPDATE: Es gibt auch eine DNR-TV-Episode, die zeigt, wie es ist, eine NServiceBus-Lösung von Grund auf neu zu erstellen: http://www.dnrtv.com/default.aspx?showNum=199
Schauen Sie sich auch den Masstransit- und Rhino-Servicebus an . Sowohl Open Source als auch von sehr klugen Leuten geschrieben.
Schauen Sie sich RabbitMQ an . Der .NET-Client ist voll funktionsfähig und recht einfach zu bedienen. Es gibt ein Buch namens RabbitMQ in Aktion sowie RabbitMQ in Depth , das in frühen Zugriffsausgaben verfügbar ist.
Ich arbeite derzeit an einem Open Source WCF-basierten Servicebus. Sie finden es hier: http://rockbus.codeplex.com/ . Es unterstützt dynamische Abonnements (zur Laufzeit), Abonnement-Repository (Datenbank), steckbare Transporte, XPath-basiertes inhaltsbasiertes Routing, Transaktionsbereitstellung über wcf-Protokolle, Roundrobin-Zustellung, steckbare Abonnementbewertung und vieles mehr. Guck mal!
Ich fand, dass ActiveMQ, das in Apache NMS integriert ist , unglaublich einfach zu verstehen, einzurichten und transparent ist.
ActiveMQ verfügt beispielsweise über ein Web-Frontend, mit dem Sie mithilfe eines Webbrowsers Nachrichtenwarteschlangen durchsuchen und Nachrichten lesen, löschen und sogar erstellen können. So können Sie ganz einfach nur eine Seite Ihrer verteilten Anwendung entwickeln und testen, und das Debuggen und Überwachen ist sehr einfach.
Ich habe festgestellt, dass Neuron ESB eine solide Implementierung ist, obwohl ich es noch nicht im Zorn verwendet habe.
Bisher gibt es keine ausgereifte Service Bus-Implementierung im .NET-Stack. Microsoft entwickelt derzeit eine.
http://msdn.microsoft.com/en-us/library/windowsazure/jj193022(v=azure.10).aspx
Optional können Sie eine aus der Java-Welt verwenden. Zum Beispiel TIBCO - sie haben ziemlich robuste .NET-Clients verfügbar oder OpenMQ.
Wenn Sie nicht viele Funktionen benötigen und bereit sind, Ihr eigenes System zu entwickeln, verwenden Sie hierfür WCF. WCF-Rückrufe sind dafür gut geeignet.