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

Is it helpful to use ZeroMQ to build a peer-to-peer workload scheduler?

本文关键字:是否 有帮助 调度 负载 ZeroMQ 构建 点对点 工作 使用      更新时间:2023-10-16

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

每个节点都有自己的加权路由表来向其他节点发送消息(基本上基于跳数),即。"我想让主节点给我时间表"或"资源A在节点B上可用吗?":哪个邻居离我的目标最近?

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

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

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

结果:

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

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

确切地知道你所说的"路由协议"是什么意思将会很有帮助。听起来您指的是路由到特定对等点的业务逻辑。更全面地了解您希望使用ZeroMQ实现的目标也会有所帮助。

你读过ZeroMQ指南吗?ZeroMQ是一个非常不同的野兽,不花点时间玩它,你会你可能会感到困惑。作为奖励,阅读指南也会帮助你回答问题这个问题留给你自己,因为你更了解你的需求。

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

相关文章: