haproxy可以提供到對後端伺服器的心跳檢查(即埠監測),預設情況下沒有,需要手動在配置檔案中配置,例如:
backend new_server
server first 10.1.1.1:1080 check inter 1000
server second 10.1.1.2:1080 check inter 1000
check inter
心跳檢查配置項,1000以毫秒為單位,總體意思為:每隔1000ms檢查一次
10.1.1.1:1080和
10.1.1.2:1080
程序是否存活。檢查方式為:使用tcp連線後台伺服器端口,如果能建立連線,就認為存活且馬上關閉連線。
然而,在使用中發現乙個問題:
1.4.23版本的haproxy在進行心跳檢查後,關閉為了進行心跳時建立的tcp連線會傳送乙個rst分組。這個本身不會影響後端伺服器的正常功能,但是絕大多數伺服器收到這個分組後,會丟擲異常,如果你的日誌列印這種異常就會導致日誌量很大(因為心跳很頻繁,且每次心跳就會查收這個異常),且這種異常不容易定位,導致你」人心惶惶「!!!
1.4.24版本中修復了這個問題,它在心跳檢查tcp連線時,沒有達成三次握手,不向伺服器傳送最後乙個ack分組,就馬上傳送rst分組,這樣伺服器認為連線沒有建立,不會丟擲異常。
如果大家要使用haproxy建議使用1.4.24版本。
虛擬記憶體檢查問題
報出的問題 報錯的原因,虛擬記憶體超出了限制,虛擬記憶體不同於物理記憶體,可以超出,所以我們在這裡要配置允許超過。container pid 3007,containerid container 1599018748796 0004 01 000004 is running 342252032b b...
kotlin中的空指標檢查問題
android系統上崩潰率最高的異常型別就是空指標異常。我們需要知道的是 空指標是一種不受程式語言檢查的執行時異常,只能有程式設計師主動通過邏輯判斷來避免。舉個例子,對於一段簡單的呼叫引數的j a 我們要使 安全性更高,更穩妥的做法就是再呼叫引數的方法之前先進行乙個判空處理。如下 public vo...
跟查問題總結
最近一直在跟測問題,每次出現問題,心裡面多多少少會有點難受。程式設計師最不喜歡的就是出現bug,我們永遠覺著我們的 不可能出現bug。最簡單的不出bug就是不寫 但當確確實實出現問題出現bug的時候,我們又不得不親自參與解決問題。通過日誌記錄查詢到出現段錯誤的函式。經查發現該函式中有乙個全域性變數為...