首页 > 解决方案 > ZMQ PUB SUB LOST TCP CONNECTION ON PUB 端

问题描述

我使用 zmq PUB-SUB 模式来通知工人来了,经过几天的运行,昨晚在 pub 端丢失了 TCP 连接。我在服务器上创建一个 PUB 并拥有 230 个 SUB 客户端。其中,有 90 个 SUB 客户端在接收到 pub 消息后由于 CPU 工作量大而出现接收缓慢的问题。PUB 丢失了这 90 个潜艇的 TCP 连接。

pyzmq:17.0.0

蟒蛇:2.7.5

在我的程序设计中,缓慢的 SUB 应该是正常的,因为工人句柄很慢,HWM 应该保护 PUB-SUB 模式。有什么建议吗?

[root@localhost apolo]#  netstat -an|grep "127.0.0.1:5000         ESTABLISHED"|wc -l
230
[root@localhost apolo]#  netstat -an|grep "0 127.0.0.1:5000"|wc -l
141

PUB 代码

 zmq_publish = context.socket(zmq.PUB)
 zmq_publish.bind("tcp://127.0.0.1:5000")

子代码

zmq_subscripe = context.socket(zmq.SUB)
zmq_subscripe.connect("tcp://127.0.0.1:5000")

标签: zeromq

解决方案


推荐阅读