Sono un debuttante in C++, ma ho molta esperienza in Java EE.C++ e JMS - come collegare i due?
Ho bisogno di scrivere una piccola app che è fortemente asincrona. Riceve i dati da HTTP e li archivia in una coda (deve avere una consegna garantita e un throughput molto elevato), qualcosa come ActiveMQ o OpenMQ, magari tramite JMS.
Quindi un'altra app/listener C++ estrae i dati dalla coda (tramite un listener attivato dalla coda direttamente, non dal mio pool), si connette a un database MySQL e esegue alcuni calcoli di logica aziendale e invia il messaggio a un'altra coda.
In Java EE questa sarebbe un'app Web che invierebbe messaggi a una coda JMS. I bean basati sui messaggi sarebbero consumatori di questi messaggi in un modulo EJB e un bean Session invierà messaggi alla coda JMS in uscita.
Can qualcuno con C++ esperienza spiegare alcuni principi fondamentali per me:
è JMS l'unica opzione per C++ per le code di consegna garantiti? Suggerite ActiveMQ o qualcos'altro, avendo in mente che il messaggio Consumer sarebbe in C++.
Devo creare una specie di demone multi-threaded in C++ che sia in ascolto per i messaggi in coda, o questa creazione di thread (consumo di messaggi) è parte dell'implementazione di C + consumer di ActiveMQ?
Qualsiasi altro suggerimento su come implementare lo scenario sopra sarebbe molto apprezzato.
MODIFICATO: Preferirei un broker di messaggi e un client in C++. ActiveMQ è un prodotto Java, che non è proprio quello di cui abbiamo bisogno.
Dai un'occhiata a [ZeroMQ] (http://www.zeromq.org/). Potrebbe essere quello che stai cercando. – Codo
ZeroMQ sembra molto di basso livello per un principiante come me. Sto cercando qualcosa che abbia già una libreria con un'astrazione di livello superiore di una coda di messaggistica affidabile. – bozo
Il software proprietario è un'opzione? Dai un'occhiata a IBM WebSphere MQ, che offre una vasta gamma di librerie client ... –