我正在使用Netmq在我的前端和后端之间实现可靠、快速和高可用的通信。
通信流是:-客户端连接(xmpp客户端、websockets或任何其他客户端类型)并将消息发送到后端,并且该消息必须由特定类型的工作者处理(xmpp调度器处理xmpp消息)-调度器连接(例如xmpp调度器)并将消息发送到特定的前端客户端(xmpp客户端)。
因此,通信可以由顶部(客户端)发起,也可以由底部(调度程序)发起。
为了实现上述目标,下面是一个架构模型:

根据我在http://zguide.zeromq.org/page:all上读到的内容,这是不可靠的,因为某个客户端收到发送到前端(代理)的消息,并且在知道是否有任何调度程序可以处理我的工作之前,该消息被接受。在此阶段,我可以丢弃此消息,也可以将其存储起来,以便将来有worker可用时进行处理。这不是一个很好的解决方案,因为如果broker很长一段时间没有人传递流量,那么许多消息将在Broker上累积。正确的行为是: broker不应该接受来自客户端的任何消息,或者客户端应该停止发送消息。
这就是我想要实现的行为。为了实现这一点,我需要实现Majordomo模式,对吗?也可能是Majordomo管理界面,对吧?问题是我找不到任何好的Python主程序实现的例子,只有C,C++和C#的例子。在Netmq或任何其他C# ZMQ绑定上,有没有可用的主要模式的实现?这将是很棒的,因为仅仅使用Netmq实现Majordomo是非常复杂的,而我在这方面还是个新手。
发布于 2015-01-17 00:24:41
我也搜索过了,目前还没有例子,你可以看看现有的例子:https://github.com/zeromq/netmq/tree/master/src/Samples。
此外,将czmq majordomo移植到netmq也应该很简单。
https://stackoverflow.com/questions/27967070
复制相似问题