Netscaler實現主備service的控制

不少人常常問如何實現2臺或多臺相同業務的服務器的主備功能,也就是說對外使用同一個VIP,後端對應2臺或多臺真實服務器,但正常狀況下只有1臺或某幾臺做爲主服務器,只有當主服務器出現問題後剩餘的服務器以備服務器的身份接管業務。
從技術角度講,這種需求屬於不明智的,但只要是存在的就是合理的,你沒法徹底左右客戶的想法。既然有需求,做爲功能強大的Netscaler天然有解決辦法,只不過這種需求是違揹負載均衡設計的,因此你們不太明白如何配置。接下來寫個博客,省得常常回答相似問題。web

在Netscaler上要實現上述需求有三種作法(貌似某信服內置就相關算法,真是服了),具體使用何種方法請根據具體的業務狀況去選擇
一、經過backup vserver來實現
邏輯圖
Netscaler實現主備service的控制算法

配置:
新建兩個vserver,兩個vserver添加各自的service
Netscaler實現主備service的控制
兩個vserver對應的service(這裏用一臺web的不一樣端口代替兩臺web服務器)
Netscaler實現主備service的控制
在primary的vs上設置備用vs
Netscaler實現主備service的控制
正常狀況下訪問primary
Netscaler實現主備service的控制
正常狀況下訪問backup
Netscaler實現主備service的控制
禁用80端口模擬主服務器故障
Netscaler實現主備service的控制
此時primary變爲down,但實際效果的狀態依舊是UP
Netscaler實現主備service的控制
用戶訪問192.168.0.57(primary的IP)依舊沒問題,同時hostname也沒變
Netscaler實現主備service的控制
二、經過listen policy來實現
邏輯圖
Netscaler實現主備service的控制
配置
新建兩個vs,端口全爲80
Netscaler實現主備service的控制
primary綁定80口的service,primary2綁定81口的service來模擬兩臺服務器
截圖略
配置primary2的listen policy
Netscaler實現主備service的控制
正常狀況下訪問,命中primary的vs
Netscaler實現主備service的控制
禁用80口的service,模擬主服務器故障,vs變爲以下狀態
Netscaler實現主備service的控制
再次訪問業務,命中primary2的vs
Netscaler實現主備service的控制
業務正常
三、經過monitor來實現
邏輯圖
Netscaler實現主備service的控制
配置
Netscaler實現主備service的控制
勾選reverse
Netscaler實現主備service的控制
正常狀況下service的狀態,backup爲down
Netscaler實現主備service的控制
新建vserver,綁定兩個service
Netscaler實現主備service的控制
禁用80端口模擬故障,service狀態
Netscaler實現主備service的控制
訪問業務正常
Netscaler實現主備service的控制
經過深度理解Netscaler的各個參數能夠提供多種解決問題的思路。後端

相關文章
相關標籤/搜索