zmq之pub/sub會出現丟包的問題的解決方案

1 應用場景

   當前要做的一個內容是通過好幾個pub 客戶端向一個 sub 服務器publish數據信息,sub服務器用於將所得到的信息解析存儲到數據庫,但是出現了中間丟掉一些數據包的問題,如下所示,我總記發送類了4w的數據 丟了大概8個包.

 

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

--------------------------------------時間較晚,先記錄到這-------------------

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章