我查看了 ZMQ PUSH/PULL 套接字,尽管我非常喜欢这种简单性(特别是与我现在通过 UDP 套接字在系统中实现的自定义碎片/ack 相比),但我希望使用自定义负载平衡而不是ZMQ PUSH/PULL 套接字正在使用的天真的循环(我相信)。
我是 ZQM 的新手,不确定如何使用 ZMQ 套接字来实现它,以及它是否可能。我理想的情况是,服务 PUSH 套接字(或其他某种套接字类型)确定(基于消息等)将消息发送到哪台机器。
所以我的问题是:
- 这可能吗?
- 如果是这样,哪种 ZMQ 模式最适合它?
- 我如何使用这些套接字?
最佳答案
如果你想有自定义路由,你必须使用ROUTER套接字,然后使用基于IDENTITY的路由。 有一个example in the Guide说明如何使用 ROUTER 套接字构建简单的 LRU 路由(即行为与 PUSH 相同)。您只需要编写自己的逻辑来决定哪个工作人员 IDENTITY 获取每条消息。
关于sockets - 具有自定义负载平衡的 ZMQ 套接字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20649709/