Sto lavorando a un progetto che coinvolge diversi programmi C++ che ciascuno prende input e genera output. I dati (da decine a centinaia di byte, probabilmente JSON) essenzialmente fluiscono (in modo asincrono) in una direzione, e i programmi dovranno trovarsi su diversi computer Linux attorno alla LAN.Consigli per code di messaggi remoti C/C++
Poiché i dati sono in un'unica direzione, non credo di aver bisogno di un modello transazionale come HTTP. Penso che un modello di coda dei messaggi (fire and forget) abbia più senso e dovrebbe semplificare la logica di ciascun programma. È probabilmente sufficiente notare che il messaggio è stato aggiunto correttamente alla coda remota.
Quello che sto cercando sono raccomandazioni su come implementare questa coda di messaggi in C o C++. Sembra che le code di messaggi POSIX e Boost siano limitate a un singolo host e che RabbitMQ abbia un debole supporto C/C++ e che il supporto MQ4CPP non sia supportato in modo adeguato per un ruolo business-critical. Mi sbaglio di questo? Che dire di Boost ASIO o ACE o scrivere il codice socket personalmente? Attendo i vostri suggerimenti.
[ZeroMQ è piuttosto carino] (http://www.zeromq.org). – user7116
Grandi risposte, tutti, ma mi piace molto la semplicità di ZeroMQ. Se @sixlettervariables dovesse renderlo una risposta, lo accetterei. –