云服务器Linux负载均衡调度器
HAProxy的工作模式:
modehttp:只适用于web服务
modetcp:适用于各种服务
modehealth:仅做健康检查,很少使用
配置haproxy
环境准备:
client1:eth0->192.168.88.10
HAProxy:eth0->192.168.88.5
web1:eth0->192.168.88.100
web2:eth0->192.168.88.200
配置haproxy
#装包[root@haproxy1~]#yuminstall-yhaproxy[root@haproxy1~]#vim/etc/haproxy/haproxy.cfg#配置文件中,global是全局配置;default是缺省配置,如果后续有和default相同的配置,default配置将会被覆盖。#配置文件中,frontend描述haproxy怎么和用户交互;backend描述haproxy怎么和后台应用服务器交互。这两个选项,一般不单独使用,而是合并到一起,名为listen。#将61行之后全部删除,写入以下内容61listenmyweb0.0.0.0:80#定义本机监听地址62balanceroundrobin#调度算法为轮询#对web服务器做健康检查,2秒检查一次,如果连续2次检查成功,认为服务器是健康的,如果连续5次检查失败,认为服务器坏了63serverweb1192.168.88.100checkinter2000rise2fall564serverweb2192.168.88.200checkinter2000rise2fall56566listenstats0.0.0.0:1080#定义监控地址67statsrefresh30s#设置监控页面自动刷新时间为30秒68statsuri/stats#定义监控地址是/stats69statsauthadmin:admin#监控页面的用户名和密码都是admin#启服务[root@haproxy1~]#systemctlstarthaproxy.service#使用firefox访问监控地址http://192.168.88.5:1080/stats#客户端访问测试[root@client1~]#foriin{1..6};docurlhttp://192.168.88.5/;done192.168.99.100apachewebserver2192.168.99.100apachewebserver2192.168.99.100apachewebserver2监控地址http://192.168.88.5:1080/stats如下:
Quee:队列长度。Cur当前队列长度,Max最大队列长度,Limit限制长度
Sessionrate:会话率,每秒钟的会话数
Sessions:会话数
Bytes:字节数。In收到的字节数,Out发出的字节数
Denied:拒绝。Req请求,Resp响应
Errors:错误
Warning:警告
Status:状态
LastChk:上一次检查。L4OK,第四层tcp检查通过
Wght:权重
负载均衡调度器比较:https://blog.51cto.com/u_13538361/3268760
nginx:可以工作在第4层和第7层。可以根据url进行负载均衡。正则表达式支持的更广泛。
lvs:效率最高。工作在第4层。
haproxy:可以工作在第4层和第7层。可以根据url进行负载均衡。支持有限的正则表达式。