我将启动一个需要分布式节点之间通信的项目(该项目是用 C++ 编写的)。我需要一个轻量级消息传递库来在节点之间传递非常简单的消息(基本上只是文本字符串)。图书馆必须具备以下特点:

  1. 无需外部设置。我需要能够在我的代码中启动并运行所有内容 - 我不想要求用户安装任何包或编辑任何配置文件(除了要连接的 IP 地址和端口列表)。

  2. 库使用的底层协议必须是TCP(或者如果是UDP,库必须保证最终收到消息)。

  3. 该库必须能够发送和接收任意大的字符串(最多 3GB+)。

该库不需要支持任何安全机制、容错或加密——我只需要它快速、简单且易于使用。我考虑过 MPI,但得出的结论是,对于我的项目,它需要在用户计算机上进行太多设置。

对于这样的项目,您会推荐什么库?我会自己推出,但由于时间限制,我认为这是不可行的。

有帮助吗?

解决方案

看一眼 ØMQ, , IE。ZeroMQ。

其他提示

阿帕奇Qpid 实现服务器和客户端库 高级消息队列协议. 。它具有许多功能,您可以从中使用以下功能:

  1. 客户端可以在代理上匿名连接,指定代理的 IP/端口
  2. 传输协议 是 TCP 或 SCTP
  3. 它支持 使用拉式或推式语义的大消息
  4. 它是 快速地
  5. 用法很简单并且可以在 C++ 中使用:

我用 纳米信息 对于我的分布式系统。纳米信息 是用C语言编写的稳定、成熟、支持良好的轻量级消息协议库。

它满足您的所有要求:

1)  There is no external setup required
2)  TCP underlying protocol is a primary one. 
3)  Message sizes supported by nanomsg are expressed as a 64-bit integer.
 (The default message size is 1024kB. This can be easily changed by API call to 
 support any size. The maximum size is limited only by available addressable memory!)

另一个值得考虑的好库是 宁格. 。现在正处于斗鱼阶段。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top