云服务器Linux负载均衡调度器

已关闭留言

HAProxy

是一款实现负载均衡的调度器

适用于负载特别大的web站点

HAProxy的工作模式:

mode http:只适用于web服务

mode tcp:适用于各种服务

mode health:仅做健康检查,很少使用

配置haproxy

云服务器Linux负载均衡调度器插图

环境准备:

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 ~]# yum install -y haproxy[root@haproxy1 ~]# vim /etc/haproxy/haproxy.cfg # 配置文件中,global是全局配置;default是缺省配置,如果后续有和default相同的配置,default配置将会被覆盖。# 配置文件中,frontend描述haproxy怎么和用户交互;backend描述haproxy怎么和后台应用服务器交互。这两个选项,一般不单独使用,而是合并到一起,名为listen。# 将61行之后全部删除,写入以下内容 61 listen myweb 0.0.0.0:80   # 定义本机监听地址 62     balance roundrobin    # 调度算法为轮询 # 对web服务器做健康检查,2秒检查一次,如果连续2次检查成功,认为服务器是健康的,如果连续5次检查失败,认为服务器坏了 63     server web1 192.168.88.100 check inter 2000 rise 2 fall 5 64     server web2 192.168.88.200 check inter 2000 rise 2 fall 5 65      66 listen stats 0.0.0.0:1080  # 定义监控地址 67     stats refresh 30s      # 设置监控页面自动刷新时间为30秒 68     stats uri /stats       # 定义监控地址是/stats 69     stats auth admin:admin  # 监控页面的用户名和密码都是admin# 启服务[root@haproxy1 ~]# systemctl start haproxy.service # 使用firefox访问监控地址 http://192.168.88.5:1080/stats# 客户端访问测试[root@client1 ~]# for i in {1..6}; do curl http://192.168.88.5/; done192.168.99.100apache web server2192.168.99.100apache web server2192.168.99.100apache web server2

监控地址 http://192.168.88.5:1080/stats如下:

云服务器Linux负载均衡调度器插图1

Quee:队列长度。Cur当前队列长度,Max最大队列长度,Limit限制长度

Session rate:会话率,每秒钟的会话数

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进行负载均衡。支持有限的正则表达式。