使用 ZeroMQ 构建点对点工作负载调度器有帮助吗?

Mis*_*r G 5 c++ routing scheduling xml-rpc zeromq

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

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

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

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

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

作为结果 :

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

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

小智 4

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

您读过ZeroMQ 指南吗?ZeroMQ 是一个完全不同的野兽,如果不花一些时间使用它,您可能会发现自己很困惑。作为奖励,阅读本指南还可以帮助您自己回答这个问题,因为您可以更好地了解自己的要求。

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