负载均衡集群三

补充知识

负载均衡集群三

架构演变

负载均衡集群三
负载均衡集群三

实验步骤

1.先确保没有其他调度器的干扰
负载均衡集群三
2.在computer1上安装haproxy
负载均衡集群三
3.编辑/etc/haproxy/haproxy.cfg文件
这里haproxy的mode工作模式是http,即工作在第七层(haproxy也可以工作在第四层)。
(1)先将这六行注释掉,只留一个app。另外,将端口改成80,这样后端的端口可以不为80。
负载均衡集群三
这里computer3和computer4是仅开启了apache服务的web服务器。
负载均衡集群三
4.启动haproxy
负载均衡集群三
haproxy占用了端口80,因此我们不能同时开启httpd服务。
负载均衡集群三
5.测试
这里使用computer2测试,发现不需要定义vip,computer1的ip地址就是vip。
负载均衡集群三
haproxy拥有健康检查功能,每次都会检测至少三次。当停掉computer3的httpd服务时
负载均衡集群三
访问失败
负载均衡集群三
重新开启computer3上的httpd服务
负载均衡集群三
重新测试,发现访问又恢复正常。
负载均衡集群三
补充:还可以使用haproxy自带的监控功能
负载均衡集群三
负载均衡集群三
访问对应的路由即可
负载均衡集群三
6.添加日志功能
编辑/etc/sysconfig/rsyslog文件,添加一个-r参数表示接受。
负载均衡集群三
负载均衡集群三
编辑/etc/rsyslog.conf文件
添加local2这一行表示将haproxy的日志存放在local2中
负载均衡集群三
另外,我们让local2的日志不要存储在/var/log/messages中。
负载均衡集群三
负载均衡集群三
在computer2*问一次computer1
负载均衡集群三
发现出现了haproxy.log
负载均衡集群三
7.**认证功能
还可以**5秒刷新功能
负载均衡集群三
负载均衡集群三
负载均衡集群三
输入密码之后成功进入,会发现监控界面5秒刷新一次。
负载均衡集群三
8.session保持
使用source算法,表示只要发起请求的源地址不变,调度也就不变。
负载均衡集群三
负载均衡集群三
负载均衡集群三
9.权重
负载均衡集群三
负载均衡集群三
负载均衡集群三
10.backup
假设所有的RS挂掉了怎么办呢?这里可以使用本机作为backup,当所有RS挂掉后,会访问本机的资源。
负载均衡集群三
这里将httpd服务端口改为8000(如果设置为80会和haproxy冲突)
负载均衡集群三
负载均衡集群三
同时修改默认发布页面
负载均衡集群三
负载均衡集群三
down掉computer3和computer4
负载均衡集群三
负载均衡集群三
负载均衡集群三
11.访问控制
blacklist:自己定义的acl表名字
src:源地址 src_port:源端口(同理还有目标地址dest,目标端口dest_port)
block if:禁止访问
负载均衡集群三
使用reload更好一些,这样不会中断服务。
负载均衡集群三
发现computer2访问被拒绝
负载均衡集群三
上述错误展示的不太美观,加入errorloc定向403这个错误类型到192.168.1.10:8000上去(curl无法呈现定向的页面,这里使用浏览器访问)。
负载均衡集群三
负载均衡集群三
负载均衡集群三
如何拒绝访问部分页面?
负载均衡集群三
负载均衡集群三
负载均衡集群三
直接重定向,也可以定向到百度等等。
负载均衡集群三
负载均衡集群三
负载均衡集群三