客戶需求:
• 實現多臺選課應用服務器負載均衡功能
• 可以實時監控選課應用服務器狀態,確保各業務系統實時可用
• 可根據請求的不同域名進行智能判斷,進行數據智能負載
解決方案:
解決方案:
• 采用兩臺WiseGrid ADC 5000 做主備模式
• 在每臺設備上配置SLB和SmartRule功能
• 負載均衡采用最少連接調度算法
• 針對不同的應用開始會話保持功能和Web應用防火墻功能
使用效果:
if ($REQ.HTTP.URL ~ "wyx.****.edu.cn" || $REQ.HTTP.URL ~ "hqc.****.edu.cn" || $REQ.HTTP.URL ~ "jzx.****.edu.cn" || $REQ.HTTP.URL ~ "xqb.****.edu.cn" || $REQ.HTTP.URL ~ "kxfz.****.edu.cn" || $REQ.HTTP.URL ~ "ykt.****.edu.cn" || $REQ.HTTP.URL ~ "gcc.****.edu.cn" || $REQ.HTTP.URL ~ "jwjc.****.edu.cn"){
http.request.reroute("ip176");}
else if ($REQ.HTTP.URL ~ "jjc.****.edu.cn" || $REQ.HTTP.URL ~ "dqx.****.edu.cn" || $REQ.HTTP.URL ~ "ltc.****.edu.cn" || $REQ.HTTP.URL ~ "wzb.****.edu.cn" || $REQ.HTTP.URL ~ "ytw.****.edu.cn" ){ http.request.reroute("ip72");}
else if ( $REQ.HTTP.URL ~ "eiec.****.edu.cn" || $REQ.HTTP.URL ~ "gjs.****.edu.cn" || $REQ.HTTP.URL ~ "hgx.****.edu.cn" || $REQ.HTTP.URL ~ "jxx.****.edu.cn" || $REQ.HTTP.URL ~ "others.****.edu.cn" || $REQ.HTTP.URL ~ "procurve.****.edu.cn" || $REQ.HTTP.URL ~ "rsc.****.edu.cn" || $REQ.HTTP.URL ~ "sjc.****.edu.cn" || $REQ.HTTP.URL ~ "sjy.****.edu.cn" || $REQ.HTTP.URL ~ "slx.****.edu.cn" || $REQ.HTTP.URL ~ "sts.hnie.edu.cn" || $REQ.HTTP.URL ~ "syq.hnie.edu.cn" || $REQ.HTTP.URL ~ "jgx.hnie.edu.cn" || $REQ.HTTP.URL ~ "flfd.hnie.edu.cn" ){
http.request.reroute("ip2");}
else if ($REQ.HTTP.URL ~ "cwc.****.edu.cn" || $REQ.HTTP.URL ~ "gzc.****.edu.cn" ){ http.request.reroute("ip202");}
使用效果:
• 解決了多個域名應對一個業務IP地址的問題
• 解決了單臺選課系統壓力大的瓶頸問題,實現了多臺應用服務器智能負載均衡
• Web 和應用服務器實現負載分擔,智能化容錯
• 整個數據中心達到99.999%高可用性

SmartRules規則:

SmartRules規則:
if ($REQ.HTTP.URL ~ "xsgz.****.edu.cn" ){ http.request.reroute("ip95");}
else if ($REQ.HTTP.URL ~ "xscx.****.edu.cn"){ http.request.reroute("ip185");}
else if ($REQ.HTTP.URL ~ "sunny.****.edu.cn"){ http.request.reroute("ip135");}
else if ($REQ.HTTP.URL ~ "jcxt.****.edu.cn"){ http.request.reroute("ip98");}
else if ($REQ.HTTP.URL ~ "yanshi.****.edu.cn"){ http.request.reroute("ip122");}
else if ($REQ.HTTP.URL ~ "kjcx.****.edu.cn"){ http.request.reroute("ip174");}
else if ($REQ.HTTP.URL ~ "is.****.edu.cn"){ http.request.reroute("ip200");}
else if ( $REQ.HTTP.URL ~ "jsj.****.edu.cn"){ http.request.reroute("ip158");}
else if ($REQ.HTTP.URL ~ "xscx.****.edu.cn"){ http.request.reroute("ip185");}
else if ($REQ.HTTP.URL ~ "sunny.****.edu.cn"){ http.request.reroute("ip135");}
else if ($REQ.HTTP.URL ~ "jcxt.****.edu.cn"){ http.request.reroute("ip98");}
else if ($REQ.HTTP.URL ~ "yanshi.****.edu.cn"){ http.request.reroute("ip122");}
else if ($REQ.HTTP.URL ~ "kjcx.****.edu.cn"){ http.request.reroute("ip174");}
else if ($REQ.HTTP.URL ~ "is.****.edu.cn"){ http.request.reroute("ip200");}
else if ( $REQ.HTTP.URL ~ "jsj.****.edu.cn"){ http.request.reroute("ip158");}
if ($REQ.HTTP.URL ~ "wyx.****.edu.cn" || $REQ.HTTP.URL ~ "hqc.****.edu.cn" || $REQ.HTTP.URL ~ "jzx.****.edu.cn" || $REQ.HTTP.URL ~ "xqb.****.edu.cn" || $REQ.HTTP.URL ~ "kxfz.****.edu.cn" || $REQ.HTTP.URL ~ "ykt.****.edu.cn" || $REQ.HTTP.URL ~ "gcc.****.edu.cn" || $REQ.HTTP.URL ~ "jwjc.****.edu.cn"){
http.request.reroute("ip176");}
else if ($REQ.HTTP.URL ~ "jjc.****.edu.cn" || $REQ.HTTP.URL ~ "dqx.****.edu.cn" || $REQ.HTTP.URL ~ "ltc.****.edu.cn" || $REQ.HTTP.URL ~ "wzb.****.edu.cn" || $REQ.HTTP.URL ~ "ytw.****.edu.cn" ){ http.request.reroute("ip72");}
else if ( $REQ.HTTP.URL ~ "eiec.****.edu.cn" || $REQ.HTTP.URL ~ "gjs.****.edu.cn" || $REQ.HTTP.URL ~ "hgx.****.edu.cn" || $REQ.HTTP.URL ~ "jxx.****.edu.cn" || $REQ.HTTP.URL ~ "others.****.edu.cn" || $REQ.HTTP.URL ~ "procurve.****.edu.cn" || $REQ.HTTP.URL ~ "rsc.****.edu.cn" || $REQ.HTTP.URL ~ "sjc.****.edu.cn" || $REQ.HTTP.URL ~ "sjy.****.edu.cn" || $REQ.HTTP.URL ~ "slx.****.edu.cn" || $REQ.HTTP.URL ~ "sts.hnie.edu.cn" || $REQ.HTTP.URL ~ "syq.hnie.edu.cn" || $REQ.HTTP.URL ~ "jgx.hnie.edu.cn" || $REQ.HTTP.URL ~ "flfd.hnie.edu.cn" ){
http.request.reroute("ip2");}
else if ($REQ.HTTP.URL ~ "cwc.****.edu.cn" || $REQ.HTTP.URL ~ "gzc.****.edu.cn" ){ http.request.reroute("ip202");}