Elastic search keep alive 問題

場景

client A 和 es server 不在一個(gè) 網(wǎng)絡(luò)里面,只開了 9200端口通信。
client A 和 es 之間ping 不通。

問題

每個(gè)一段時(shí)間,比如過了一個(gè)晚上,訪問es 的時(shí)候,總有一些請求 會timeout。
但是再發(fā)幾個(gè),或者重啟都沒有為問題。

root cause

linux server 的tcp 默認(rèn)開啟 tcp_keep_alive 機(jī)制。
默認(rèn)2個(gè)小時(shí),沒有連接的話,就會去 發(fā)包探測對方是否還活著。
按道理,如果keep alive 機(jī)制正確的話,是不會斷開連接的。

問題出在了網(wǎng)絡(luò)環(huán)境,也就是我們 的client 和serve 不再一個(gè) 內(nèi)網(wǎng),需要過 核心路由器。
核心路由器一般都會有 一個(gè) 長連接掐斷功能。
我們的核心路由器設(shè)置的時(shí)間是 30mins,所有很多連接被掐斷了。

解決方案

  1. 要么修改 tcp 的keep alive 時(shí)間,小于 30mins。
  2. 要么在應(yīng)用層自己發(fā)送 heartbeat。

我們用的是自己發(fā)送 heartbeat。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • HTTP Keep-Alive 在http早期,每個(gè)http請求都要求打開一個(gè)tpc socket連接,并且使用一...
    jiangmo閱讀 4,840評論 0 2
  • 1、TCP狀態(tài)linux查看tcp的狀態(tài)命令:1)、netstat -nat 查看TCP各個(gè)狀態(tài)的數(shù)量2)、lso...
    北辰青閱讀 9,739評論 0 11
  • 公司某產(chǎn)品的網(wǎng)頁有安全保護(hù)機(jī)制,每過一段時(shí)間就會自動(dòng)登出,沒辦法畢竟是對安全要求比較高的產(chǎn)品,所以只能不停地登錄。...
    山貓貓那個(gè)紅艷艷閱讀 546評論 0 5
  • feisky云計(jì)算、虛擬化與Linux技術(shù)筆記posts - 1014, comments - 298, trac...
    不排版閱讀 4,383評論 0 5
  • 育兒群熱烈群聊。 浩媽焦慮地問:“我發(fā)現(xiàn)孩子的閱讀理解能力偏弱,伙伴們有什么好的辦法嗎?娃必須提升一下!” 樂媽也...
    嚴(yán)紅玉閱讀 634評論 0 0

友情鏈接更多精彩內(nèi)容