使用ZeroMQ构建对等工作负载调度程序是否有帮助?

时间:2011-11-16 20:40:07

标签: c++ routing scheduling xml-rpc zeromq

我正在编写工作负载调度程序。我希望我的软件是一个点对点调度程序,即。节点只知道一些邻居(其他节点)并使用它们到达其他节点。

每个节点都有自己的加权路由表,以便向其他对等体发送消息(基本上基于跳数),即。 "我希望主人给我我的时间表"或"是节点B上可用的资源A?" :哪个邻居最接近我的目标?

例如,我使用XML-RPCxmlrpc-c)和std::multimaps / std::maps编写了自己的路由协议。

我正在考虑使用ZeroMQ来优化我的数据流:

  • 排队可以减少对等体之间的网络负载;
  • 订阅可用于发布升级。

结果:

  • 我需要打开尽可能多的套接字,因为我会创建新类型的连接;
  • 每个节点都需要是客户端,服务器,发布者,订阅者,代理和目录;
  • 我不确定我的对等架构"与ZeroMQ的主要目的兼容。

您认为ZeroMQ可以成为一个有用的概念吗?

1 个答案:

答案 0 :(得分:2)

通过“路由协议”确切地了解您的意思将会很有帮助。 这听起来像是指路由到特定对等体的业务逻辑。 更全面地了解您希望通过ZeroMQ实现的目标也会有所帮助。

您是否阅读过ZeroMQ Guide? ZeroMQ是一个非常不同的野兽,没有花一些时间玩它,你会 可能会发现自己很困惑作为奖励,阅读指南也将帮助您回答 这个问题适合自己,因为你更了解你的要求。

ZeroMQ旨在构建强大的分布式和多线程应用程序。由于分布式应用程序通常采用“点对点”的形式,因此ZeroMQ确实非常适合您的需求。