Domanda

Sto sviluppando una serie di applicazioni che lavorano insieme per creare un sistema per l'elaborazione dei dati di misurazione. Ci sono diverse ragioni per cui voglio farli accoppiare liberamente e il sistema dovrebbe essere estensibile da terze parti, quindi le app saranno collegate via messaggistica.

Sto cercando un sistema di messaggistica che offra collegamenti (almeno) in C #, Java e Python e supporti modelli di messaggistica come Pubblica-Abbonati, Consegna garantita, Consumatore selettivo (come Peek in .Net Messaging).

Per quanto ho potuto scoprire, non c'è niente di sbagliato in JMS o .Net Messaging, è solo che sono solo per .Net / Java.

Il sistema dovrebbe darmi il controllo su quale meccanismo di trasporto (socket, code di messaggi, ecc.) utilizzare durante l'impostazione di un canale. Voglio essere in grado di passare a macchine remote e accelerare le cose con le strutture di trasporto locali.

Se non trovo nulla di adatto, dovrò farlo da solo. Probabilmente userò i buffer di protocollo di Google per la serializzazione. Se qualcuno ha altri consigli per le opzioni tecnologiche, sparare.

Oh, sì - e vorrei avere la crittografia opzionale per canale o per messaggio.

ETA: grazie per tutte le risposte rapide. Sto lavorando attraverso i documenti & amp; propaganda ora. Qualcuno ha usato le tecnologie seguenti e per cosa / con quali risultati?

È stato utile?

Soluzione

activemq

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

Supporta tutti i seguenti protocolli

  • OpenWire
  • REST
  • Stomp
  • Notifica WS
  • XMPP
  • AMQP

Grazie Paul

Altri suggerimenti

SonicMQ potrebbe essere lo strumento che stai cercando. So che sono fortemente coinvolti in Progress ma che supportano anche altre alternative linguistiche e sono protagonisti nel settore della messaggistica.

Sonic Software

Come menzionato da Paul, prova ActiveMQ che supporta molti client e wire di lingua protocolli.

BTW ActiveMQ 6.x probabilmente utilizzerà i buffer di protocollo di Google come uno dei suoi trasporti sottostanti :)

Ho usato Apache ActiveMQ su molti progetti con grande successo. È il most popolare e potente broker di messaggi open source oggi disponibile.

Per inciso su .Net / C #, il progetto ActiveMQ ha creato API NMS che è uno standard API per la comunicazione con i broker di messaggi sulla piattaforma .Net che è ora integrata in Spring.Net

Hai considerato MPI ?

È possibile utilizzare un ESB (Enterprise Service Bus) come Mule . L'idea è di inviare i messaggi al bus nel modo desiderato (JMS, http, e-mail) e che il bus esegua il routing per te. Non so se ci sono collegamenti .NET, ma anche se non ce ne sono disponibili, puoi crearne uno tuo usando un meccanismo di estensione. Ovviamente, questo significa che devi installare un autobus da qualche parte.

Se si desidera un supporto commerciale solido e l'integrazione e l'integrazione praticamente in qualsiasi cosa, la serie MQ di IBM, ora Websphere MQ fornisce tutte le funzionalità descritte nei tuoi requisiti.

A volte fai ottieni quello per cui paghi ... ;-)

Se desideri una lingua standard "standard" - significa che non sei legato all'utilizzo di un broker / intermediario specifico come ActiveMQ, SonicMQ o WebsphereMQ - Consiglio vivamente di guardare lo standard AMQP ( http://www.amqp.org ) e relativi broker (RabbitMQ, QPid, OpenAMQ; vedi http://www.amqp.org/confluence/display/AMQP/AMQP+Products ).

Open Message Queue (Open MQ) è incluso nel server delle applicazioni GlassFish ed esegue anche stand -solo. Si avvia in pochi secondi e supporta client Java e C. Il supporto di Stomp è attualmente in sviluppo nella versione 4.4.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top