概述
更新時間 2023-09-01 17:14:02
最近更新時間: 2023-09-01 17:14:02
分享文章
本文主要介紹健康檢查概述。
負載均衡器會定期向后端云主機發送請求以測試其運行狀態,這些測試稱為健康檢查。通過健康檢查來判斷后端云主機是否可用。負載均衡器如果判斷后端云主機健康檢查異常,就不會將流量分發到異常后端云主機,而是分發到健康檢查正常的后端云主機,從而提高了業務的可靠性。當異常的后端云主機恢復正常運行后,負載均衡器會將其自動恢復到負載均衡服務中,承載業務流量。
如果您的業務對負載比較敏感,過于頻繁的健康檢查報文可能會對您的正常業務產生影響。您可以根據實際的業務情況,通過增大健康檢查間隔,或者將七層健康檢查改為四層健康檢查等方式來降低對業務的影響。如果您的業務系統自身有健康檢查機制,也可以關閉負載均衡器的健康檢查,但是為了保障業務的持續可用,不建議這樣做。
對于四層監聽器,健康檢查適用的版本是HTTP 1.1;對于七層監聽器,共享型負載均衡健康檢查適用的版本是HTTP 1.1,獨享型適用HTTP 1.0。

TCP健康檢查的機制如下:
- ELB節點根據健康檢查配置,向后端云主機(IP+健康檢查端口)發送TCP SYN報文。
- 后端云主機收到請求報文后,如果相應的端口已經被正常監聽,則會返回SYN+ACK報文。
- 如果在超時時間內沒有收到后端云主機的SYN+ACK報文,則判定健康檢查失敗。然后發送RST報文給后端云主機中斷TCP連接。
- 如果在超時時間內收到了SYN+ACK報文,則發送ACK給后端云主機,判定健康檢查成功,并發送RST報文給后端云主機中斷TCP連接。
注意
正常的TCP三次握手后,會進行數據傳輸,但是在健康檢查時會發送RST中斷建立的TCP連接。該實現方式可能會導致后端云主機中的應用認為TCP連接異常退出,并打印錯誤信息,如“Connection reset by peer”。解決方案如下:
采用HTTP方式進行健康檢查。
后端云主機忽略健康檢查的連接錯誤。