不少人常常問如何實現2臺或多臺相同業務的服務器的主備功能,也就是說對外使用同一個VIP,後端對應2臺或多臺真實服務器,但正常狀況下只有1臺或某幾臺做爲主服務器,只有當主服務器出現問題後剩餘的服務器以備服務器的身份接管業務。
從技術角度講,這種需求屬於不明智的,但只要是存在的就是合理的,你沒法徹底左右客戶的想法。既然有需求,做爲功能強大的Netscaler天然有解決辦法,只不過這種需求是違揹負載均衡設計的,因此你們不太明白如何配置。接下來寫個博客,省得常常回答相似問題。web
在Netscaler上要實現上述需求有三種作法(貌似某信服內置就相關算法,真是服了),具體使用何種方法請根據具體的業務狀況去選擇
一、經過backup vserver來實現
邏輯圖
算法
配置:
新建兩個vserver,兩個vserver添加各自的service
兩個vserver對應的service(這裏用一臺web的不一樣端口代替兩臺web服務器)
在primary的vs上設置備用vs
正常狀況下訪問primary
正常狀況下訪問backup
禁用80端口模擬主服務器故障
此時primary變爲down,但實際效果的狀態依舊是UP
用戶訪問192.168.0.57(primary的IP)依舊沒問題,同時hostname也沒變
二、經過listen policy來實現
邏輯圖
配置
新建兩個vs,端口全爲80
primary綁定80口的service,primary2綁定81口的service來模擬兩臺服務器
截圖略
配置primary2的listen policy
正常狀況下訪問,命中primary的vs
禁用80口的service,模擬主服務器故障,vs變爲以下狀態
再次訪問業務,命中primary2的vs
業務正常
三、經過monitor來實現
邏輯圖
配置
勾選reverse
正常狀況下service的狀態,backup爲down
新建vserver,綁定兩個service
禁用80端口模擬故障,service狀態
訪問業務正常
經過深度理解Netscaler的各個參數能夠提供多種解決問題的思路。後端