我正在编写工作负载调度程序.我希望我的软件是一个点对点调度程序,即.节点只知道一些邻居(其他节点)并使用它们到达其他节点.
每个节点都有自己的加权路由表,以便向其他对等体发送消息(基本上基于跳数),即. “我希望主人给我我的日程安排”或“节点B上有资源A吗?” :哪个邻居最接近我的目标?
例如,我使用XML-RPC(xmlrpc-c)和std :: multimaps / std :: maps编写了自己的路由协议.
我正在考虑使用ZeroMQ来优化我的数据流:
>排队可以减少对等体之间的网络负载;
>订阅可用于发布升级.
作为结果 :
>我需要打开尽可能多的套接字,因为我会创建新类型的连接;
>每个节点都需要是客户端,服务器,发布者,订阅者,代理和目录;
>我不确定我的“点对点架构”是否与ZeroMQ的主要目的兼容.
你认为ZeroMQ可以成为一个有用的概念吗?
最佳答案 了解“路由协议”的确切含义将会很有帮助.
这听起来像是指路由到特定对等体的业务逻辑.
更全面地了解您希望使用ZeroMQ实现的目标也会有所帮助.
你读过ZeroMQ Guide吗?
ZeroMQ是一个非常不同的野兽,没有花一些时间玩它,你会
可能会发现自己很困惑作为奖励,阅读指南也将帮助您回答
这个问题适合自己,因为你更了解你的要求.
ZeroMQ旨在构建强大的分布式和多线程应用程序.由于分布式应用程序通常采用“点对点”的形式,因此ZeroMQ确实非常适合您的需求.