kafka mqtt 斷開重連問題

2021-09-13 02:55:07 字數 471 閱讀 2786

kafka mqtt 和spring 整合後自身都有重連機制的,分兩種情況進行解釋:

1、專案啟動時候連線不上伺服器

2、專案啟動成功後伺服器斷開連線

(1)mqtt

1和2中情況類似,專案都能啟動成功,重要的是,訂閱和發布的區別,訂閱的重接機制依託於心跳,可以設定心跳間隔,預設10s,而發布沒有心跳機制,而是在發布的時候檢查是否連線,如果沒有則重連。

(2)kafka

1和2情況是有區別的,如果在專案啟動中,伺服器連線不上,那麼在重試約定的次數後服務會放棄,不再重試,專案啟動失敗,tomcat stop,但是不依託tomcat容器的正常執行,比如mqtt  kafka等,如果在專案啟動成功後,連線斷開,kafka會按照約定頻率一直檢測下去。

總結,mqtt 不管在何時斷開連線對於專案的正常執行不用產生大的影響,因為有重連機制,kafka雖然也有重連機制,但是,在專案啟動的時候一定保證連線是正常的,負責專案啟動會失敗。

關於C Socket斷開重連問題

tcp客戶端可以向 tcpserver 傳送資料報時,若網路斷開,原來的連線就會失效,出現以下錯誤提示 斷開套接字連線後,只能通過非同步方式再次重新連線,而且只能連線到不同的 endpoint。在操作完成前,在將不會退出的執行緒上必須呼叫 beginconnect 導致無法傳送資料報,如何處理呢?主...

python mysql斷開重連

後台服務在執行時發現乙個問題,執行約15分鐘後,介面請求報錯 pymysql.err.inte ceerror 0,這個錯誤提示一般發生在將none賦給多個值,定位問題時發現 pymysql.err.operationalerror 2013,lost connection to mysql ser...

TCP斷開重連

在tcp協議中,對於斷開的一方其本地用來通訊的埠 系統分配的 仍然會被保留一段時間。所以客戶端斷開後立即再連就是失敗。解決的途徑就是換乙個本地的通訊埠,由於不能手動指定乙個新埠那就只能重新建立tcpclient例項。在重新建立tcpclient之前要釋放掉原tcpclient所占有的資源。c usi...