2011-11-16 41 views
4

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

每个节点都有自己的加权路由表来发送消息给其他节点(基本上基于跳数),即。 “我希望主人给我我的日程表”或“是节点B上的资源A?” :哪个邻居离我的目标最近?

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

我想用ZeroMQ到我,进而优化数据流:

  • 排队可以减少同行间的网络负荷;
  • 订阅可用于发布升级。

结果:

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

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

回答

1

这将有助于准确了解“路由协议”的含义。 这听起来像你的意思是路由到一个特定的同行的业务逻辑。 更全面地了解您希望通过ZeroMQ实现的目标也很有帮助。

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

ZeroMQ设计用于构建健壮的分布式和多线程应用程序。由于分布式应用程序通常可以采用“点对点”的形式,因此ZeroMQ确实可以很好地满足您的需求。

+0

不完全是一个答案。看起来更像是一场演讲 –