zmq之pub/sub会出现丢包的问题的解决方案

1 应用场景

   当前要做的一个内容是通过好几个pub 客户端向一个 sub 服务器publish数据信息,sub服务器用于将所得到的信息解析存储到数据库,但是出现了中间丢掉一些数据包的问题,如下所示,我总记发送类了4w的数据 丢了大概8个包.

zmq之pub/sub会出现丢包的问题的解决方案

 

2 推测可能的原因

The downside is that we actually need all of these if we want to do reliable multicast. The ZeroMQ pub-sub pattern will lose messages arbitrarily when a subscriber is connecting, when a network failure occurs, or just if the subscriber or network can't keep up with the publisher.

(1)slower subscriber : 我设定的高水位是非常 非常的高

(2)我也没有出现 网络的faiure

(3)在建立链接到publishers的时候,连接握手成功之前就已经发布数据的情况,为了避免这个问题,我们采用了req-rep的同步的方案

(4)目前唯一的可能性就是network can't keep up with the publisher.

(思考,我的测试都是采用本机地址的tcp//127.0.0.1:6001, 有可能既要发送,又要接收,出现的网卡不能忙过来的情况.?后面进行验证)

3 中间的验证过程

(1) publishers----

 9个进程同时运行,向sub中发布数据

(2) subscriber 订阅所有的数据.

单个进程运行,收到数据然后进行记录

2020/04/27

--------------------------------------时间较晚,先记录到这-------------------