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...