estoy trabajando en un proyecto que involucra a varios programas en C++ que cada toma de entrada y generar una salida. Los datos (decenas a cientos de bytes, probablemente JSON) esencialmente fluyen (asincrónicamente) en una dirección, y los programas deberán ubicarse en diferentes computadoras Linux alrededor de la LAN.remota de mensajes C/C++ las colas
Dado que los datos fluyen en una sola dirección, no creo que necesite un modelo transaccional como HTTP. Creo que un modelo de cola de mensajes (disparar y olvidar) tiene más sentido y debe simplificar la lógica de cada programa. Probablemente sea suficiente simplemente notar que el mensaje se agregó a la cola remota con éxito.
Lo que estoy buscando son recomendaciones sobre cómo implementar esta cola de mensajes en C o C++. Parece que las colas de mensajes POSIX y Boost están limitadas a un solo host, y RabbitMQ parece tener compatibilidad con C/C++ débil, y MQ4CPP parece no ser compatible con una función crítica para la empresa. ¿Estoy equivocado sobre esto? ¿Qué pasa con Boost ASIO o ACE o escribir código de socket yo mismo? Espero sus sugerencias.
[ZeroMQ es bastante agradable] (http://www.zeromq.org). – user7116
Excelentes respuestas, a todos, pero realmente me gusta la simplicidad de ZeroMQ. Si @sixlettervariables lo convirtieran en una respuesta, lo aceptaría. –