針對后台TCP服務F5健康檢查配置


1、TCP-HALF-OPEN方式

TCP-HALF-OPEN的探測方式,實際是F5每隔一個固定的時間,發送一個SYN包給資源池pool中的一個member,等待服務器返回SYN_ACK,在收到SYN_ACK后,F5會使用RST,將該連接重置。

若F5在發出SYN包后,超過規定的時間仍未收到SYN_ACK,則認為這個member不可用,不再向這個member分配應用流量。

F5默認內置了一個tcp-half-open的monitor,具體配置界面如下:

從圖中可以看到默認的,tcp_half_open的健康檢查方式,探測間隔為5秒,超時時間為16秒。

下面來看一下具體的數據包:

在F5上抓包,利用wireshark對抓包文件進行過濾,192.168.92.7為F5的self ip,192.168.92.11為健康檢查目標服務器。

通過Time 列可以看出,每隔約5秒鍾,F5發起一次健康檢查,F5發送SYN包與服務器建立TCP連接,服務器響應SYN包,同時服務器TCP狀態變為SYN_RCVD,回復SYN_ACK報文,F5在收到SYN_ACK后,向member服務器發送RST包,將該鏈接重置,服務器收到RST包后,TCP狀態重新變為listen狀態。

F5內置的monitor中,還有一個TCP monitor,他與TCP_HALF_OPEN的區別,主要是TCP monitor是通過發送FIN包的方式,正常中斷連接的。TCP_HALF_OPEN相對於TCP的方式,發送包的數量更少。但是由於采用RST的方式中斷連接,可能會出現問題(目前還沒有碰到),需要前期進行測試。

需要注意的是:

tcp_half_open和tcp這種健康檢查方式,只能判斷目標服務器的tcp端口是否處於listen狀態,判斷目標服務器是否有建立TCP連接的能力,不能完全用來判斷應用的可用性。

 

這種方式是最通用的健康檢查方式,目前也是業界通用的,不需要業務系統關注的方式。

 

TCP握手過程

TCP過程詳解: https://www.linuxidc.com/Linux/2019-06/159107.htm
---------------------  
作者:BBIE  
來源:CSDN  
原文:https://blog.csdn.net/sinat_17736151/article/details/82720288  
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM