backend app_server #http的7层模式
mode http #负载均衡的方式,roundrobin平均方式
balance roundrobin #允许插入serverid到cookie中,serverid后面可以定义
cookie SERVERID #心跳检测的URL,HTTP/1.1¥r¥nHost:XXXX,指定了心跳检测HTTP的版本,XXX为检测时请求 #服务器的request中的域名是什么,这个在应用的检测URL对应的功能有对域名依赖的话需要设置
option httpchk GET /index.php HTTP/1.1\r\nHost:www.anjuke.com #服务器定义,cookie 1表示serverid为1,check inter 1500 是检测心跳频率 #rise 3是3次正确认为服务器可用,fall 3是3次失败认为服务器不可用,weight代表权重
server app1 192.168.1.101:80 cookie 1 check inter 1500 rise 3 fall 3 weight 1
server app2 192.168.1.102:80 cookie 2 check inter 1500 rise 3 fall 3 weight 2
backend idx_server
mode http #负载均衡的方式,source根据客户端IP进行哈希的方式
balance source #但设置了backup的时候,默认第一个backup会优先,设置option allbackups后 #所有备份服务器权重一样
option allbackups #心跳检测URL设置
option httpchk GET /search.php HTTP/1.1\r\nHost:idx.anjuke.com #可以根据机器的性能不同,不使用默认的连接数配置而使用自己的特殊的连接数配置 #如minconn 10 maxconn 20
server idx1 192.168.1.103:80 maxconn 12 check inter 1500 rise 3 fall 3
server idx2 192.168.1.104:80 maxconn 20 check inter 1500 rise 3 fall 3 #备份机器配置,正常情况下备机不会使用,当主机的全部服务器都down的时候备备机会启用
server idx-back1 192.168.1.105:80 check backup inter 1500 rise 3 fall 3
server idx-back2 192.168.1.106:80 check backup inter 1500 rise 3 fall 3
backend img_server
mode http #负载均衡的方式,leastconn根据服务器当前的请求数,取当前请求数最少的服务器
balance leastconn
option httpchk GET /index.php HTTP/1.1\r\nHost:img.anjuke.com
server img1 192.168.1.107:80 check inter 1500 rise 3 fall 3
server img2 192.168.1.108:80 check inter 1500 rise 3 fall 3