【发布时间】:2012-05-13 11:54:15
【问题描述】:
我正在开展一个项目,该项目涉及多个 C++ 程序,每个程序都接受输入并生成输出。数据(几十到几百个字节,可能是 JSON)本质上是(异步)向一个方向流动,程序需要位于 LAN 周围的不同 Linux 计算机上。
由于数据只在一个方向流动,我认为我不需要像 HTTP 这样的事务模型。我认为消息队列模型(即发即弃)最有意义,并且应该简化每个程序的逻辑。仅注意消息已成功添加到远程队列可能就足够了。
我正在寻找有关如何在 C 或 C++ 中实现此消息队列的建议。似乎POSIX 和Boost 消息队列仅限于单个主机,RabbitMQ 似乎对 C/C++ 的支持较弱,而MQ4CPP 似乎不足以支持关键业务角色。我错了吗? Boost ASIO 或 ACE 或自己编写套接字代码怎么样?我期待您的建议。
【问题讨论】:
-
很好的答案,每个人,但我真的很喜欢 ZeroMQ 的简单性。如果@sixlettervariables 是一个答案,我会接受。
标签: c++ c linux unix message-queue