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

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

每个节点都有自己的加权路由表,以便向其他对等体发送消息(基本上基于跳数),即. “我希望主人给我我的日程安排”或“节点B上有资源A吗?” :哪个邻居最接近我的目标?

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

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

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

作为结果 :

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

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

最佳答案 了解“路由协议”的确切含义将会很有帮助.

这听起来像是指路由到特定对等体的业务逻辑.

更全面地了解您希望使用ZeroMQ实现的目标也会有所帮助.

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

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

点赞