負載均衡 對應用機節點的故障檢測

2021-07-10 06:35:34 字數 2913 閱讀 6066

1.  status.html 檔案:

一般是web 伺服器常用的方式,apache/nginx  web 服務 配置健康檢測檔案status.html[自己設定即可]這樣 vip/lvs  會每秒(或者乙個時間粒度) 去他們下面的realserver 上面:curl http://realserverip:/status.html如果能取到這檔案,則說明這個realserver 是好的,就會根據負載均衡演算法把流量引到這台realserver。

(1).  realserver  touch了 status.html 但是沒有啟動web服務;

因為沒有啟動web服務,則 curl http://realserverip:/status.html 時 根本連不上此台機器 80,所以機器的web服務如果沒有啟動,即使已經touch了 status.html 檔案,lvs 也認為這台機器是不健康的,不會引流量進來;所以,我們上線時;如果不摘流量(rm -f .../status.html);也只是在一瞬間丟掉了流量;lvs 下次健康檢測就會失敗的.

(2).  配置好監控檢測檔案後,我們需要在realserver上面touch statu.html檔案;

因為監控檢測是通過web服務來檢測的;所以,要在 web伺服器的  根目錄裡面touch 監控檢測檔案;但是這個根目錄要找對:

• /home/a/conf/apache/httpd.conf    是apache 預設的配置檔案:documentroot "/home/a/share/htdocs" 

如果在 /home/a/conf/apache/include/*.conf 裡面沒有新的設定,web服務的跟目錄就是上面這個。

• 如果在  /home/a/conf/apache/include/.*.conf 裡面重新設定了則優先使用include 裡面的配置。

[html] view plain copy

01.02.      servername              www.baidu.com         # 如果訪問網域名稱:www.baidu.com  或者直接訪問web機器的ip位址則 

03.      documentroot            /home/a/share/htdocs/test   #跟目錄在這個目錄下面 

04.      ........ 

05.      ........ 

•nginx 伺服器:conf裡面的那個root 對應的就是 跟目錄。               

04.         root                    /home/a/share/htdocs;   #web 伺服器的根目錄 

05.         ...... 

06.         ......  

2 . 埠(port) 的健康檢測方式:

如果realserver 上面不提供web 伺服器,則上面的status.html 檢測方式是不適合的;我們可以採用port方式;lvs/vip 會每秒檢測下面的 realserver 上面的 固定埠 [ 比如3000]  如果這個realserver的埠可以通訊;則認為這台realserver 是健康,會把資料與這台realserver 進行通訊;

(1). 判斷realserver 的埠是否是通的:

[html] view plain copy

01.telnet realserverip  port(3000) 

02.trying realserverip   ... 

03.connected to realserverip   

04.escape character is '^]'.   ------>表明 埠是通的 

05. 

06.trying  realserverip... 

07.telnet: connect to address : realserverip connection refused 

08.telnet: unable to connect to remote host: connection refused      ------>表明  埠是不通的   

3.   status.html + port 監控檢測的方式

上面說使用status.html 健康檢測的方式必須是web 服務,其實不不一定;只要這個機器提供http的服務,比如curl http://ip:port/status.html  返回是200  就是健康的。

wget http://ip:4050/status.html  可以作為realserver 健康檢測的;還是用status.html 來做健康檢測,不過需要指定特定的埠:4050   只要應用中可以使用curl 傳送訊息

也就是可以進行http服務。

4.  健康檢測的方式

健康檢測的方式其實有兩種啊,四層健康檢測【tcp】、七層健康檢測【http】

四層健康檢測方式:其實就是上面的埠檢測方式,只要這個server 的埠是通的,就認為這台realserver是alive的;就會把流量分發過來,

這樣的health  check 一般是用在http服務,但是不是真正的apache/nginx 這樣傳統的webserver上面;

七層健康檢測方式:其實就是上面的status.html 的方式,在osi的第七層,應用層進行檢測,判斷curl  http://ip/status.html  這個配置檔案是否存在

•    四層health check :如果你摘流量,必須停止服務,把對應的port 關閉

•    七層health check :如果你摘流量,只要刪除指定的健康檢測檔案即可

負載均衡的應用場景

負載均衡適用於高訪問量的業務,提高應用程式的可用性和可靠性。應用於高訪問量的業務 如果您的應用訪問量很高,您可以通過配置監聽規則將流量分發到不同的ecs例項上。此外,您可以使用會話保持功能將同一客戶端的請求 到同一台後端ecs,提高訪問效率。擴充套件應用程式 消除單點故障 您可以在負載均衡例項下新增...

程式的負載均衡 應用程式負載均衡器概述

點 藍字關注,謝謝支援 www.iloveaws.cn 我們開始今天的課程內容。應用程式負載均衡器是aws推出的新一代負載均衡器,支援http以及https協議。當然,還有很多應用程式負載均衡器所支援的功能上面沒有列出。按照這個思路在本節課,我接下來將快速演示應用程式負載均衡器的 基於路徑的路由功能...

使用應用程式負載均衡器的優勢

支援基於路徑的路由,對於根據請求中的url 請求的偵聽器,您可以為它配置規則,可以將應用程式狗紮成較小的服務,並根據url內容將請求路由到正確的服務。通過使用多個埠註冊例項,支援請求路由到單個ec2例項上的多個服務。支援容器化的應用程式。計畫任務時,可以選擇乙個未使用的埠,並可以使用此埠向目標組註冊...