負(fù)載均衡 健康檢查概述
健康檢查概述
最近更新時間:2024-11-22 16:19:44
負(fù)載均衡通過健康檢查來判斷后端服務(wù)的可用性,避免后端服務(wù)異常影響前端業(yè)務(wù),從而提高業(yè)務(wù)整體可用性。
開啟健康檢查后,無論后端服務(wù)器權(quán)重是多少(包括權(quán)重為0),負(fù)載均衡實例都會進(jìn)行健康檢查。您可在實例列表頁面的“健康狀態(tài)”列查看健康檢查狀態(tài),或者在監(jiān)聽器的綁定后端服務(wù)詳情頁面查看健康檢查狀態(tài)。
當(dāng)后端服務(wù)器實例被判定為異常后,負(fù)載均衡實例自動將新的請求轉(zhuǎn)發(fā)給其他正常的后端服務(wù)器,而不會轉(zhuǎn)發(fā)到異常的后端服務(wù)器。
當(dāng)異常實例恢復(fù)正常后,負(fù)載均衡將其恢復(fù)至負(fù)載均衡服務(wù)中,重新轉(zhuǎn)發(fā)請求給此實例。
若健康檢查探測到所有后端服務(wù)都有異常時,請求將會被轉(zhuǎn)發(fā)給所有后端服務(wù)器。
關(guān)閉健康檢查,負(fù)載均衡將向所有后端服務(wù)器轉(zhuǎn)發(fā)流量(包括異常的后端服務(wù)器),因此強(qiáng)烈建議您打開健康檢查,允許負(fù)載均衡幫您自動檢查并移除異常的后端服務(wù)器。
默認(rèn)被動健康檢查,針對四層 TCP SSL 監(jiān)聽器、七層 HTTP/HTTPS 監(jiān)聽器,將默認(rèn)配置被動健康檢查能力(默認(rèn)開啟,不支持關(guān)閉)。CLB 向后端服務(wù)轉(zhuǎn)發(fā)流量的同時并記錄后端服務(wù)的健康狀態(tài)。若轉(zhuǎn)發(fā)失敗則重試將流量轉(zhuǎn)發(fā)至其他后端服務(wù)上,同時累計此后端服務(wù)失敗次數(shù)1次,累計失敗達(dá)到3次,則屏蔽該后端服務(wù)10秒,屏蔽時間結(jié)束后,恢復(fù)流量轉(zhuǎn)發(fā)并繼續(xù)記錄后端服務(wù)的健康狀態(tài)。
健康檢查狀態(tài)
單監(jiān)聽器健康檢查狀態(tài)說明
根據(jù)健康檢查探測情況,后端服務(wù)器的健康檢查狀態(tài)如下所示:
狀態(tài)
說明
是否轉(zhuǎn)發(fā)流量
探測中
新綁定的后端服務(wù)器在檢查間隔 × 健康閾值時間內(nèi)的狀態(tài),例如,檢查間隔2s,健康閾值3次,則是6s內(nèi)的狀態(tài)。
CLB 不向處于“探測中”的后端服務(wù)轉(zhuǎn)發(fā)流量。
健康
后端服務(wù)正常。
CLB 向“健康”的后端服務(wù)轉(zhuǎn)發(fā)流量。
異常
后端服務(wù)異常。
CLB 不向“異?!钡暮蠖朔?wù)轉(zhuǎn)發(fā)流量。
在一個四層監(jiān)聽器或者七層 URL 規(guī)則下,如果 CLB 探測到所有后端服務(wù)都不健康,將會激活全死全活邏輯,即請求將會轉(zhuǎn)發(fā)給所有權(quán)重非 0 的后端服務(wù)。
已關(guān)閉
關(guān)閉健康檢查。
CLB 向所有后端服務(wù)轉(zhuǎn)發(fā)流量。
列表頁健康檢查狀態(tài)說明
根據(jù)實例下所有監(jiān)聽器的健康探測情況綜合展示。
狀態(tài)
說明
正常
該實例下所有監(jiān)聽器的后端服務(wù)正常。
該實例下所有監(jiān)聽器的健康檢查均未開啟。
異常
該實例下任意一個監(jiān)聽器異常,則展示為異常。
未配置
該實例未配置任何監(jiān)聽器/規(guī)則。
該實例下任意一個監(jiān)聽器未綁定后端服務(wù),且不存在異常的監(jiān)聽器。
TCP 健康檢查
針對四層 TCP 監(jiān)聽器,您可以配置 TCP 健康檢查,通過 SYN 包即發(fā)起 TCP 三次握手來獲取后端服務(wù)器的狀態(tài)信息。您還可以通過自定義協(xié)議的請求內(nèi)容和返回結(jié)果來獲取后端服務(wù)器的狀態(tài)信息。
加載中...
TCP 健康檢查機(jī)制如下:
1. 負(fù)載均衡向后端服務(wù)器(內(nèi)網(wǎng) IP 地址+健康檢查端口)發(fā)送 SYN 連接請求報文。
2. 后端服務(wù)器收到 SYN 請求報文后,若相應(yīng)端口處于正常監(jiān)聽狀態(tài),則會返回 SYN+ACK 響應(yīng)報文。
3. 若在響應(yīng)超時時間內(nèi),負(fù)載均衡收到后端服務(wù)器返回的 SYN+ACK 響應(yīng)報文,則表示服務(wù)運(yùn)行正常,判定健康檢查成功,并向后端服務(wù)器發(fā)送 RST 復(fù)位報文中斷 TCP 連接。
4. 若在響應(yīng)超時時間內(nèi),負(fù)載均衡未收到后端服務(wù)器返回的 SYN+ACK 響應(yīng)報文,則表示服務(wù)運(yùn)行異常,判定健康檢查失敗,并向后端服務(wù)器發(fā)送 RST 復(fù)位報文中斷 TCP 連接。
UDP 健康檢查
針對四層 UDP 監(jiān)聽器,您可以配置 Ping 探測和自定義探測。若您選擇了 Ping 探測方式,則只是用 ICMP ECHO 報文進(jìn)行探測。
加載中...
健康檢查機(jī)制如下:
1. 負(fù)載均衡向后端服務(wù)器的內(nèi)網(wǎng) IP 地址發(fā)起Ping命令;
2. 若Ping成功,則表示服務(wù)正常,判定健康檢查成功;
3. 若Ping失敗,則表示服務(wù)異常,判定健康檢查失?。?/p>
注意:
健康檢查依賴 ICMP 協(xié)議,需要后端服務(wù)器開放回復(fù) ICMP 包(支持 Ping);
如果后端服務(wù)器是 Linux 服務(wù)器,在大并發(fā)場景下,由于 Linux 有防 ICMP 攻擊保護(hù)機(jī)制,會限制服務(wù)器發(fā)送 ICMP 的速度,這種情況下可能導(dǎo)致最終導(dǎo)致后端服務(wù)的真實狀態(tài)與健康檢查不一致。 解決方案:在配置 UDP 健康檢查時,配置自定義輸入和輸出,向后端服務(wù)器發(fā)送您指定的字符串,且 CLB 收到您指定的應(yīng)答后才判斷健康檢查成功。此方案依賴后端服務(wù)器,后端服務(wù)器需處理健康檢查輸入并返回指定輸出。
若您選擇了自定義探測方式,則可以細(xì)分為以下兩種情況:
第一種,如果僅配置“檢查請求”的內(nèi)容,沒有配置“檢查返回結(jié)果”,則使用ICMP ECHO報文+ UDP探測報文。
加載中...
健康檢查機(jī)制如下:
3.1 負(fù)載均衡向后端服務(wù)器的內(nèi)網(wǎng) IP 地址發(fā)起Ping命令;
3.2 負(fù)載均衡向后端服務(wù)器(內(nèi)網(wǎng) IP 地址+健康檢查端口)發(fā)送 UDP 探測報文;
3.3 若Ping成功,且在響應(yīng)超時時間內(nèi),后端服務(wù)器未返回port XX unreachable的報錯信息,則表示服務(wù)正常,判定健康檢查成功;
3.4 若Ping失敗,或者在響應(yīng)超時時間內(nèi),系統(tǒng)收到后端服務(wù)器返回的port XX unreachable報錯信息,則表示服務(wù)異常,判定健康檢查失?。?/p>
注意:
健康檢查依賴 ICMP 協(xié)議,需要后端服務(wù)器開放回復(fù) ICMP 包(支持 Ping)、開放回復(fù) ICMP 端口不可達(dá)包(支持探測端口)。
如果后端服務(wù)器是 Linux 服務(wù)器,在大并發(fā)場景下,由于 Linux 有防 ICMP 攻擊保護(hù)機(jī)制,會限制服務(wù)器發(fā)送 ICMP 的速度。此時,即使后端服務(wù)已經(jīng)出現(xiàn)異常,但由于無法向 CLB 返回 port XX unreachable,CLB 由于沒收到 ICMP 應(yīng)答進(jìn)而判定健康檢查成功,最終導(dǎo)致后端服務(wù)的真實狀態(tài)與健康檢查不一致。 解決方案:在配置 UDP 健康檢查時,配置自定義輸入和輸出,向后端服務(wù)器發(fā)送您指定的字符串,且 CLB 收到您指定的應(yīng)答后才判斷健康檢查成功。此方案依賴后端服務(wù)器,后端服務(wù)器需處理健康檢查輸入并返回指定輸出。
第二種,如果同時配置了“檢查請求”和“檢查返回結(jié)果”的內(nèi)容,則僅使用 UDP 探測報文, 判斷 RS 健康狀態(tài)的條件為:收到 UDP 返回的報文,且與“檢查返回結(jié)果”的內(nèi)容匹配。
加載中...
健康檢查機(jī)制如下:
3.1 負(fù)載均衡向后端服務(wù)器(內(nèi)網(wǎng) IP 地址 + 健康檢查端口)發(fā)送 UDP 探測報文;
3.2 若收到 UDP 返回的報文,且與“檢查返回結(jié)果”的內(nèi)容匹配,則表示服務(wù)正常,判定健康檢查成功;
3.3 若在響應(yīng)超時時間內(nèi),未收到 UDP 返回的報文或與“檢查返回結(jié)果”的內(nèi)容未匹配,則表示服務(wù)異常,判定健康檢查失?。?/p>
HTTP 健康檢查
針對四層 TCP 監(jiān)聽器和七層 HTTP/HTTPS 監(jiān)聽器,您可以配置 HTTP 健康檢查,通過發(fā)送 HTTP 請求來獲取后端服務(wù)器的狀態(tài)信息。
加載中...
HTTP 健康檢查機(jī)制如下:
1. 負(fù)載均衡根據(jù)健康檢查配置,向后端服務(wù)器(內(nèi)網(wǎng) IP 地址+健康檢查端口+檢查路徑)發(fā)送 HTTP 請求(可選擇設(shè)置檢查域名)。
2. 后端服務(wù)器收到請求后返回相應(yīng)的 HTTP 狀態(tài)碼。
3. 若在響應(yīng)超時時間內(nèi),負(fù)載均衡收到了后端服務(wù)器返回的 HTTP 狀態(tài)碼,若與設(shè)置的 HTTP 狀態(tài)碼匹配成功,則判定健康檢查成功,反之則判定健康檢查失敗。
4. 若在響應(yīng)超時時間內(nèi),負(fù)載均衡未收到后端服務(wù)器的響應(yīng),則判定健康檢查失敗。
說明:
針對七層 HTTPS 監(jiān)聽器,當(dāng) HTTPS 監(jiān)聽器的轉(zhuǎn)發(fā)規(guī)則中的后端協(xié)議選擇 HTTP 時,健康檢查使用 HTTP 健康檢查;當(dāng)選擇 HTTPS 時,健康檢查使用 HTTPS 健康檢查。
HTTPS 健康檢查與 HTTP 健康檢查 基本類似,不同的是 HTTPS 健康檢查是通過發(fā)送 HTTPS 請求,根據(jù)返回的 HTTPS 狀態(tài)碼判斷后端服務(wù)器的狀態(tài)信息。
健康檢查時間窗
負(fù)載均衡的健康檢查機(jī)制有效提高了業(yè)務(wù)的可用性。為了避免頻繁的健康檢查失敗引起的切換對系統(tǒng)可用性的沖擊,健康檢查只有在健康檢查時間窗內(nèi)連續(xù)多次檢查成功或失敗后,才會進(jìn)行健康或異常的狀態(tài)切換。健康檢查時間窗由以下因素決定:
健康檢查配置
說明
默認(rèn)值
響應(yīng)超時
健康檢查響應(yīng)的最大超時時間。
如果后端服務(wù)器在超時時間內(nèi)沒有正確響應(yīng),則判定為健康檢查異常。
可配置范圍:2 - 60秒。
2秒
檢測間隔
負(fù)載均衡進(jìn)行健康檢查的時間間隔。
可配置范圍:2 - 300秒。
5秒
不健康閾值
如果連續(xù) n 次(n 為填寫的數(shù)值)收到的健康檢查結(jié)果失敗,則識別為不健康,控制臺顯示為失敗。
可配置范圍:2 - 10次。
3次
健康閾值
如果連續(xù) n 次(n 為填寫的數(shù)值)收到的健康檢查結(jié)果為成功,則識別為健康,控制臺顯示為成功。
可配置范圍:2 - 10次。
3次
四層健康檢查時間窗的計算方法如下:
說明:
響應(yīng)超時時間要小于檢查間隔時間。
四層健康檢查,即 TCP 健康檢查或 UDP 健康檢查,無論檢查成功還是響應(yīng)超時,前后兩次之間發(fā)包的檢查間隔都是已設(shè)置的檢查間隔。
健康檢查失敗時間窗 = 檢查間隔 ×(不健康閾值 - 1) 下圖以健康檢查響應(yīng)超時時間為2s,檢查間隔為5s,不健康閾值為3次為例,健康檢查失敗時間窗 = 5 x(3-1)= 10s。
加載中...
?健康檢查成功時間窗 = 檢查間隔 ×(健康閾值 - 1) 下圖以健康檢查成功響應(yīng)時間為1s,檢查間隔為5s,健康閾值為3次為例,健康檢查成功時間窗 = 5 x(3-1)= 10s。
加載中...
?七層健康檢查時間窗的計算方法如下:
健康檢查失敗時間窗 = 響應(yīng)超時時間 × 不健康閾值 + 檢查間隔 ×(不健康閾值 - 1) 下圖以健康檢查響應(yīng)超時時間為2s,檢查間隔為5s,不健康閾值為3次為例,健康檢查失敗時間窗 = 2 x 3 + 5 x(3-1)= 16s。
加載中...
?健康檢查成功時間窗 = 健康檢查成功響應(yīng)時間 × 健康閾值 + 檢查間隔 ×(健康閾值 - 1) 下圖以健康檢查成功響應(yīng)時間為1s,檢查間隔為5s,健康閾值為3次為例,健康檢查成功時間窗 = 1 x 3 + 5 x(3-1)= 13s。
加載中...
?健康檢查探測標(biāo)識
在 CLB 開啟健康檢查后,后端服務(wù)器除接收正常的業(yè)務(wù)請求外,還會接收到健康檢查探測請求。健康檢查探測請求有如下標(biāo)識:
健康檢查探測請求的源 IP 是 CLB 的 VIP 或100.64.0.0/10網(wǎng)段。
四層(TCP、UDP、TCP SSL)監(jiān)聽器的健康檢查方式若為自定義,且檢查請求為空,則默認(rèn)請求中會帶“HEALTH CHECK”標(biāo)識。
七層(HTTP、HTTPS)監(jiān)聽器的健康檢查請求 Header 中的 user-agent 為“clb-healthcheck”。
說明:
傳統(tǒng)型內(nèi)網(wǎng)負(fù)載均衡,健康檢查源 IP 為 169.254.128.0/17 網(wǎng)段。
基礎(chǔ)網(wǎng)絡(luò)內(nèi)網(wǎng)負(fù)載均衡,健康檢查源 IP 為服務(wù)器物理 IP。
相關(guān)文檔
相關(guān)知識
負(fù)載均衡 健康檢查概述
健康檢查 負(fù)載均衡 ULB
負(fù)載均衡SLB四層(TCP/UDP)健康檢查出現(xiàn)異常的解決方法
神經(jīng)傳導(dǎo)檢查概述
小兒營養(yǎng)不均衡概述
取消健康檢查關(guān)聯(lián)
k8s健康檢查 spring k8s健康檢查探針多個地址
1.1《健康評估》概述.pdf
影像學(xué)檢查概述
食品安全快速檢測概述
網(wǎng)址: 負(fù)載均衡 健康檢查概述 http://www.u1s5d6.cn/newsview1131977.html
推薦資訊
- 1發(fā)朋友圈對老公徹底失望的心情 12775
- 2BMI體重指數(shù)計算公式是什么 11235
- 3補(bǔ)腎吃什么 補(bǔ)腎最佳食物推薦 11199
- 4性生活姿勢有哪些 盤點(diǎn)夫妻性 10425
- 5BMI正常值范圍一般是多少? 10137
- 6在線基礎(chǔ)代謝率(BMR)計算 9652
- 7一邊做飯一邊躁狂怎么辦 9138
- 8從出汗看健康 出汗透露你的健 9063
- 9早上怎么喝水最健康? 8613
- 10五大原因危害女性健康 如何保 7826