2008-11-03 8 views
11

Ich entwickle eine Reihe von Anwendungen, die zusammenarbeiten, um ein System für die Verarbeitung von Messdaten zu erstellen. Es gibt mehrere Gründe, warum ich möchte, dass sie lose gekoppelt sind und das System durch Dritte erweiterbar sein sollte, so dass die Apps über Messaging miteinander verbunden werden.Plattformübergreifendes, sprachübergreifendes Messaging-System?

Ich bin auf der Suche nach einem Messaging-System, das Bindungen in (mindestens) C#, Java und Python und unterstützt Messaging-Muster wie Publish-Subscribe, garantierte Lieferung, selektive Consumer (wie Peek in. Net Messaging).

Soweit ich herausfinden konnte, gibt es nichts falsch mit JMS oder .Net Messaging, es ist nur, dass sie nur für .Net/Java sind.

Das System sollte mir die Kontrolle darüber geben, welcher Transportmechanismus (Sockets, Message Queues usw.) beim Einrichten eines Kanals verwendet werden soll. Ich möchte in der Lage sein, sowohl auf entfernte Maschinen zu skalieren als auch mit lokalen Transportmitteln zu beschleunigen.

Wenn ich nichts passendes finde, muss ich mein eigenes rollen. Ich würde wahrscheinlich die Protokollpuffer von Google für die Serialisierung verwenden. Wenn jemand andere Empfehlungen für Technologieoptionen hat, schieße weg.

Oh, ja - und ich hätte gerne eine optionale Verschlüsselung pro Kanal oder pro Nachricht.

ETA: Danke für die schnellen Antworten. Ich arbeite mich jetzt durch die Dokumentation & Propaganda. Hat jemand die folgenden Technologien verwendet und für was/mit welchen Ergebnissen?

Antwort

2

SonicMQ könnte ein Werkzeug sein, das Sie suchen. Ich weiß, dass sie stark in Progress sind, aber dass sie auch andere Sprachalternativen unterstützen und eine führende Rolle im Messaging-Bereich spielen.

Sonic Software

1

Haben Sie darüber nachgedacht MPI?

1

Sie könnten einen ESB (Enterprise Service Bus) wie Mule verwenden. Die Idee ist, dass Sie Ihre Nachrichten auf beliebige Weise an den Bus senden (JMS, http, E-Mail) und der Bus übernimmt das Routing für Sie. Ich weiß nicht, ob es .NET-Bindungen gibt, aber selbst wenn es keine gibt, können Sie Ihre eigenen mit einem Erweiterungsmechanismus erstellen. Das bedeutet natürlich, dass Sie irgendwo einen Bus einrichten müssen.

1

Wenn Sie solide, kommerzielle Unterstützung und Integration zu fast allem wollen, IBM MQ-Serie, jetzt Websphere MQ bietet alle Funktionen in Ihren Anforderungen beschrieben.

Manchmal Sie tun zu bekommen, was Sie bezahlen ... ;-)

2

Als Paul, versuchen erwähnt ActiveMQ die Protokolle viele Sprach Kunden und Draht unterstützt.

BTW ActiveMQ 6.x wird wahrscheinlich werden mit Googles Protokoll-Puffer als eine seiner zugrunde liegenden Draht transportiert :)

ich Apache ActiveMQ an vielen Projekten mit großem Erfolg verwendet haben. Es ist die mostpopular und leistungsstarke Open-Source-Nachrichtenbroker um heute.

übrigens auf .net/C# das ActiveMQ Projekt die NMS API erstellt hat, die für die Kommunikation mit Nachrichtenvermittlern auf der .NET-Plattform einen Standard-API ist, die jetzt in Spring.Net

0

Open Message Queue (Open MQ) integriert ist in dem Glassfish-Anwendungsserver enthalten ist, und läuft auch eigenständig. Es startet in wenigen Sekunden und unterstützt Java und C-Client. Die Stomp-Unterstützung wird derzeit in Version 4.4 entwickelt.

Verwandte Themen