Frage

Ich bin eine Reihe von Anwendungen zu entwickeln, die zusammenarbeiten, Messdaten, ein System zu schaffen für die Verarbeitung. Es gibt mehrere Gründe, warum ich sie lose gekoppelt und das System haben wollen, sollten durch Dritte erweiterbar sein, so werden die Anwendungen zusammen über Messaging gebunden werden.

Ich suche nach einem Messaging-System, das Bindung in (mindestens) C # bietet, Java und Python und unterstützen Messaging-Muster wie Publish-Subscribe, garantierte Lieferung, Selective Consumer (wie Peek in .Net Messaging).

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

Das System sollte gibt mir die Kontrolle über den Transportmechanismus (Sockets, Message Queues, etc.) zu verwenden, wenn Sie einen Kanal einrichten. Ich möchte in der Lage sein, sowohl für die horizontale Skalierung auf entfernte Rechner und Geschwindigkeit Dinge mit lokalen Transportmöglichkeiten.

Wenn ich nichts Passendes finden kann, werde ich meine eigene Rolle. Ich würde wahrscheinlich die Google-Protokollpuffer für die Serialisierung verwenden. Wenn jemand andere Empfehlungen für Technologieoptionen, Feuer weg.

Oh, ja - und ich möchte auf einer Pro-Kanal optionale Verschlüsselung haben, oder jede Nachricht

.

ETA: Vielen Dank für die schnellen Antworten. Ich arbeite mich durch die docs & Propaganda jetzt. Hat jemand die Technologien unten verwendet, und für das, was / mit welchen Ergebnissen?

War es hilfreich?

Lösung

activemq

http://activemq.apache.org/cross-language-clients.html

Unterstützt alle folgenden Protokolle

  • Openwire
  • REST
  • Stomp
  • WS Mitteilung
  • XMPP
  • AMQP

Danke Paul

Andere Tipps

SonicMQ könnte ein Instrument sein, den Sie suchen. Ich weiß, dass sie schwer zu Fortschritt sind, sondern dass sie auch auch andere Sprache Alternativen unterstützen und sind ein führender Akteur im Messaging-Bereich.

Sonic Software

Wie Paulus erwähnt, versuchen ActiveMQ die vielen Sprach Kunden und Draht unterstützt Protokolle.

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

Ich habe mit großem Erfolg an vielen Projekten Apache ActiveMQ verwendet. Es ist die meisten beliebte und leistungsfähiger Open-Source-Message-Broker um heute.

Im übrigen auf .Net / C # das ActiveMQ-Projekt hat die erstellte NMS API , die ein Standard API für mit Nachrichtenvermittlern auf der .NET-Plattform in Verbindung steht, die jetzt in Spring.Net

Haben Sie darüber nachgedacht MPI ?

Sie könnten einen ESB (Enterprise Service Bus) verwenden wie Mule . Die Idee ist, dass Sie Ihre Nachrichten an den Bus in irgendeiner Weise senden Sie wollen (JMS, HTTP, E-Mail) und der Bus funktioniert das Routing für Sie. Ich weiß nicht, ob es .NET-Bindungen sind, sondern auch, wenn es keine verfügbar sind, können Sie Ihre eigene Verwendung eines Verlängerungsmechanismus aufzubauen. Natürlich bedeutet dies, Sie irgendwo einen Bus einrichten müssen.

Wenn Sie fest, kommerzielle Unterstützung und Integration einfach alles, IBM MQ Series, jetzt Websphere MQ die alle Funktionen bietet in Ihren Anforderungen beschrieben.

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

Wenn Sie eine mehrsprachige "Standard" wollen - das heißt, Sie nicht gebunden sind, einen bestimmten Broker / Vermittler wie ActiveMQ, SonicMQ oder WebSphereMQ zu verwenden - empfehle ich Ihnen bei der AMQP Standard aussehen ( http://www.amqp.org ) und die dazugehörige Makler (RabbitMQ, Qpid, OpenAMQ, siehe http://www.amqp.org/confluence/display/AMQP/AMQP+Products ).

Open Message Queue (Open MQ) im Glassfish-Anwendungsserver enthalten ist, und läuft auch Stand -allein. Es beginnt in wenigen Sekunden auf und unterstützt Java und C-Client. Stomp-Unterstützung ist derzeit in der Entwicklung in der Version 4.4.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top