欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 房产 > 建筑 > Haproxy负载均衡

Haproxy负载均衡

2024/10/24 13:20:42 来源:https://blog.csdn.net/ibertine_P/article/details/140443880  浏览:    关键词:Haproxy负载均衡

nginx 四层转发 七层代理

lvs 四层转发内核态 用户态

Haproxy 四层转发,七层转发

1、Haproxy的作用和使用场景

1、场景 主要用户高并发的web场景,可以支出1万个以上的并发请求,高性能的tcp和http的负载均衡器。

2、工作原理

haproxy就像LVS的调度器,高可用即实现两台haproxy服务器一主一备。

3、作用

1、进行四层和七层转发

2、主持https

3、haproxy本身不自带缓存功能,可以在请求当中添加cookie,使用缓存功能

4、支持主备切换(keepalive)

4、特点

可靠性高,稳定性好

可以同时维护4万-5万并发,单位时间内可以处理的最大请求数是2万个(单位时间:1秒或者1分钟)

支持负载均衡算法,虽然不带缓存,但是可以支持会话保持

rr

wrr

leastconn

5、实验

Haproxy安装

#haproxy安装包存放在/opt
cd /opt
tar -xf haproxy-1.5.19.tar.gz
mv haproxy-1.5.19 haproxy
cd haproxy/
uname -r
#查看本机的内核版本
make TARGET=linux2628 ARCH=x86_64
#TARGET内核版本要低于本机的内核版本,架构是x86_64
make install
mkdir /etc/haproxy
cd examples
cp haproxy.cfg /etc/haproxy

 对haproxy配置文件进行设置

vim /etc/haproxy/haproxy.cfgglobal
#4-5行log /dev/log local0 infolog /dev/log local1 noticemaxconn 4096#最大连接数,推荐使用10240,需要系统内核参数修改最大打开文件数#注释下一行#chroot /usr/share/haproxy#添加下一行nbproc 4#Haproxy的并发线程数,设置的数量最好是CPU的2倍或者和CPU保持一致defaults
#默认参数配置,包括连接配置、监听配置以及代理配置option httplog#类型 http日志retries 3#检查节点服务器3次,连续3次失败,就认为节点服务器不可用redispatch#服务器负载很高时,自动结束当前队列中处理比较久的连接maxconn 2000#最大连接数,不能超过global设置的maxconn#下面三行注释掉,已经不用了#contimeout#clitimeout#srvtimeouttimeout http-request 10s#http请求的默认超时时间timeout queue 1m#在队列当中请求的超时时间timeout connect 10s#连接超时时间timeout client 1m#客户端超时时间timeout server 1m#服务端超时时间timeout http-keep-alive 10s#默认长连接的超时时间(不是会话保持)timeout check 10s#检查后端服务器的超时时间#转发请求的设置,既可以是四层,也可以是七层
#四层和七层择其一,不要都写#七层转发的配置
listen yang1 0.0.0.0:80option httpchk GET /index.html#设置转发请求的内容,方式GET, 获取内容 index.htmlbalance static-rr#轮询算法server rs01 192.168.10.41:80 check inter 2000 fall 3 weight 2server rs02 192.168.10.42:80 check inter 2000 fall 3 weight 3#server 指定真实服务器,rs01 自定义后端服务器名称#check inter 2000 :启动对后端服务器进行健康检查,检查的间隔时间2000ms#fall 3 连续三次检查不到,任务失败#四层转发
#四层转发的配置
frontend test
#定义服务的名称为test,前端名为testbind *:80#监听所有网络接口,端口为80mode tcp#设置负载均衡的模式为TCPdefault_backend test#指定默认后端服务名为testbackend test
#定义后端名为test,负责处理前端传递来的请求mode tcp#前后端模式匹配,都设置为TCPbalance roundrobin#设置负载均衡算法为轮询,即rrserver rs01 192.168.10.41:80 check inter 2000 fall 3 weight 2server rs02 192.168.10.42:80 check inter 2000 fall 3 weight 3#保存配置

 让haproxy命令可以被系统识别到

cd /haproxy/example
cp haproxy.init /etc/init.d/haproxy
chmod 777 /etc/init.d/haproxy
chkconfig --add /etc/init.d/haproxy
ln -s /usr/local/sbin/haproxy /usr/sbin

启动haproxy服务

systemctl start haproxy

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com