目录
HAProxy是可提供高可用性、负载均衡以及基于TCP和HTTP应用的代理,是免费、快速并且可靠的一种解决方案。HAproxy非常适用于并发大(并发达1w以上)web站点,这些站点通常又需要会话保持或七层处理。
routerobin(rr):轮询
static-rr:加权轮询
uri:根据url路径哈希
leastconn(最小连接数):最小链接
source:基于ip地址哈希
rul-param:根据url参数哈希
hdr:根据请求头哈希
负载均衡性能:[硬件负载均衡 F5] > LVS 最好 > HAProxy 其次 > Nginx 弱于其它两种
支持的代理类型:
LVS是基于linux内核实现的软负载均衡,只支持4层代理的IP转发,并且不支持正则匹配
HAProxy和Nginx都是基于应用程序实现的软负载均衡,都支持4层和7层代理转发,且支持正则匹配
健康检查方式:
LVS可以配合Keepalived实现支对TCP端口或者URL路径方式的健康检查
Nginx默认只支持被动健康检查,主动健康检查需要安装第三方模块后支持 HAProxy支持TCP端口、URL路径、脚本等方式的健康检查
1.source(源地址hash)
2.设置cookie
3.会话粘性表stick-table
创建haproxy用户:
创建目录:
将haproxy的配置文件复制到etc下的haproxy目录下:
修改配置文件:
将haproxy的服务由init管理:
加执行权限:
在做个软连接:
看下haproxy的信息:
将haproxy加入管理:
看下网页文件:
由于java已经装好了直接装tomcat:
切换到网页页面,准备网页内容:
切换到开启服务文件目录下:
访问页面测试下:
还要准备index.html文件:
修改haproxy的配置文件:
先关闭tomcat:
修改tomcat1启动服务文件:
修改tomcat1关闭服务文件:
修改tomcat2的文件:
修改tomcat2的端口号:
开启tomcat1,2服务:
修改Tomcat2的网页内容:
访问页面:
检查配置文件,发现这几行有错误:
修改配置文件:
在检查一下,发现没问题:
确保apache和nginx关闭,在开启haproxy:
访问页面:
为了更好的管理 haproxy 的日志,我们在生产环境中一般单独定义出来。需要将 haproxy 的 info 及warning 日志分别记录到不同的日志文件:
由于我们配置文件已经定义好日志文件的名字:
将日志文件有rsyslog管理:
修改 rsyslog 的启动参数:
重启服务:
切换到日志目录下,自动生成目录: