sockets - 具有自定义负载平衡的 ZMQ 套接字

标签 sockets load-balancing zeromq

我查看了 ZMQ PUSH/PULL 套接字,尽管我非常喜欢这种简单性(特别是与我现在通过 UDP 套接字在系统中实现的自定义碎片/ack 相比),但我希望使用自定义负载平衡而不是ZMQ PUSH/PULL 套接字正在使用的天真的循环(我相信)。

我是 ZQM 的新手,不确定如何使用 ZMQ 套接字来实现它,以及它是否可能。我理想的情况是,服务 PUSH 套接字(或其他某种套接字类型)确定(基于消息等)将消息发送到哪台机器。

所以我的问题是:

  1. 这可能吗?
  2. 如果是这样,哪种 ZMQ 模式最适合它?
  3. 我如何使用这些套接字?

最佳答案

如果你想有自定义路由,你必须使用ROUTER套接字,然后使用基于IDENTITY的路由。 有一个example in the Guide说明如何使用 ROUTER 套接字构建简单的 LRU 路由(即行为与 PUSH 相同)。您只需要编写自己的逻辑来决定哪个工作人员 IDENTITY 获取每条消息。

关于sockets - 具有自定义负载平衡的 ZMQ 套接字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20649709/

相关文章:

cmake - 是否可以使用带有安装依赖项的 cmake FetchContent

java - AsynchronousServerSocketChannel.accept 只接受一个连接

c - 在远程终端上隐藏光标

kubernetes - Kubernetes 中的自定义负载均衡

go - 如何在 Go 中有效地处理数千个保持事件连接?

nginx - 如何使用 ingress nginx 负载平衡套接字

ZeroMQ:我希望发布-订阅删除旧消息以支持新消息

java - 如何从套接字读取 JSON 数据而不是一行?

c - 发送 HTTP 请求并在 C 中获得响应时出现段错误

c++ - 系统托盘图标没有响应