商城网站制作费用,wordpress简约文字主题,西安网站制作公司怎么选,推荐的网站制作haproxy负载均衡 haproxy#xff1a;基于C语言开发的开源软件 支持高性能的tcp和http负载均衡器#xff0c;工作中用的版本1.5.9 haproxy功能#xff1a;主要用于高并发的web站点#xff0c;工作原理和nginx、lvs都一样
haproxy缺点: 单节点部署#xff0c;单实例运行。代…haproxy负载均衡 haproxy基于C语言开发的开源软件 支持高性能的tcp和http负载均衡器工作中用的版本1.5.9 haproxy功能主要用于高并发的web站点工作原理和nginx、lvs都一样
haproxy缺点: 单节点部署单实例运行。代理服务器出现故障整个负载集群全部不可用。
正常功能 1、tcp和http的反向代理 2、https的代理配置 3、可以针对http请求添加cookie转发到后端服务器(添加缓存) 4、也支持主备切换keepalive 5、基于端口的实时监控 6、压缩响应的报文
haproxy的特点 1、可靠性和稳定非常好可以和硬件F5 BIG 负载均衡的硬件设备 2、可以同时维护4w-5w个并发单位时间内处理最大的请求20000个 3、支持8中负载均衡算法。但是haproxy不带缓存功能但是可以支持会话保持 4、也支持配置虚拟主机。
haproxy的负载均衡算法 1、roundrobin rr轮询 2、static-rr wrr加权轮询 3、leastconn 最小连接数 4、source 根据请求的源IP进行调度 sh 5、uri 根据请求地址进行调度 6、url param URL的参数实现调度 7、hdr(name) 根据http的请求头锁定每一次http的请求 8、rdp-cookie(name)根据cookie的名称来锁定每一次请求。 lvs nginx haproxy三种负载均衡的区别 1、Ivs基于linux内核实现负载均衡性能最高但是对系统硬件要求也比较高。 haproxy和nginx基于第三方应用实现负载均衡性能较低。 2、lvs可以实现 ip端口 的四层负载均衡无法实现http请求的转发。 haproxy和nginx都可以实现四层和七层的转发。 3、lvs只能四层转发单一的功能基于端口来进行检测 haproxy 可以实现端口uri 也可以 4、haproxy虽然功能强大但整体功能低于lvs的性能比gaproxy低 lvs-------haproxy---------nginx (bug多稳定也差) 5、nginx主要应用还是web服务或者缓存服务器nginx的stream模块和upstream也可以支持集群但是对节点的健康检查能力不行。没有lvs和haproxy的监控性能好 Haproxy:是常用的负载均衡软件 nginx 支持四层转发七层转发 haproxy 也可以四层和七层转发 基于四层的转发 1、lvs 2、nginx 3、haproxy 基于七层: nginx haproxy /etc/haproxy/haproxy.cfg内容说明 global #全局配置定义 定义全局参数 log /dev/log localo info 系统日志 log /dev/log -local0 notice 修改日志的存放路径 log loghost localo info 注释 maxconn 10240 支持每个cpu的最大连接数 1024 一定要改limits.conf chroot /usr/share/haproxy 注释 nbproc 6 在daemon下添加同时并发进程数要么和cpu相同要么是cpu的两倍。 defaults 默认配置包括监听地址和协议backend (upstream) log global 引入全局配置日志格式 mode http 模式为http 七层 option dontlognull 不记录健康检查的日志信息 retries 3 检查节点服务器的失败次数 3次失败就认为节点服务器失效 redispatch 服务器的负载很高自动结束当前队列处理比较久的连接 maxconn 2000 最大连接数不能超过全局配置的定义数量 timeout http-request 10s 默认http请求的超时时间 timeout queue 1m 默认队列超时时间 timeout connect 10s 默认连接超时的时间 timeout client 1m 客户端的超时时间 timeout server 1m 服务端的超时时间 timeout http-keep-alive 10s 默认会话保持的超时时间 timeout check 10s 心跳检查的超时时间 nginx-haproxy负载均衡 1、haproxy代理服务器 192.168.10.10
2、web服务器 192.168.10.20 192.168.10.30 提供 nginx 页面服务 数据流向 haproxy代理服务器七层 yum install -y pcre-devel bzip2-devel gcc gcc-c make cd /opt/ tar zxvf haproxy-1.5.19.tar.gz cd haproxy-1.5.19/ make TARGETlinux2628 ARCHx86_64 make install mkdir /etc/haproxy cp /opt/haproxy-1.5.19/examples/haproxy.cfg /etc/haproxy/ cp /opt/haproxy-1.5.19/examples/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 vim /etc/haproxy/haproxy.cfg ................. 修改 log /dev/log local0 info log /dev/log local0 notice chroot /usr/share/haproxy 注释掉 nbproc 2 在daemon下添加 contimeout 5000 注释掉 clitimeout 50000 注释掉 srvtimeout 50000 注释掉 添加以下内容 timeout 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 liu 0.0.0.0:80 option httpchk GET /index.html balance roundrobin 算法 server liu1 192.168.10.20:80 check inter 2000 fall 3 server liu2 192.168.10.30:80 check inter 2000 fall 3 把添加完成后面的全部删除 ................. systemctl restart haproxy yum install -y pcre-devel bzip2-devel gcc gcc-c make cd /opt/ tar zxvf haproxy-1.5.19.tar.gz cd haproxy-1.5.19/ make TARGETlinux2628 ARCHx86_64 make install mkdir /etc/haproxy cp /opt/haproxy-1.5.19/examples/haproxy.cfg /etc/haproxy/ cp /opt/haproxy-1.5.19/examples/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 vim /etc/haproxy/haproxy.cfg ................. 修改 log /dev/log local0 info log /dev/log local0 notice chroot /usr/share/haproxy 注释掉 nbproc 2 在daemon下添加 contimeout 5000 注释掉 clitimeout 50000 注释掉 srvtimeout 50000 注释掉 添加以下内容 timeout http-request 10s #默认http请求的超时时间 timeout queue 1m #默认队列的超时时间 timeout connect 10s #默认连接的超时时间 timeout client 1m #客户端默认的连接超时时间 timeout server 1m #客户端默认的超时时间 timeout http-keep-alive 10s #默认会话的保持的超时时间 timeout check 10s #心跳检查的超时时间在下面添加 frontend liu bind *:80 mode tcp default_backend liu backend liu mode tcp balance roundrobin server liu1 192.168.10.20:80 check inter 2000 fall 3 server liu2 192.168.10.30:80 check inter 2000 fall 3 把添加完成后面的删除 ................. systemctl restart haproxy Haproxy的日志重定义
日志单独存放
nginx服务 keepalive_timeout 65; 注释掉或将其改为0 haproxy服务 vim /etc/haproxy/haproxy.cfg global log /dev/log local0 info log /dev/log local0 notice systemctl restart haproxy vim /etc/rsyslog.d/haproxy.conf .................... if ($programname haproxy and $syslogseverity-text info) then -/var/log/haproxy/haproxy-info.log ~ if ($programname haproxy and $syslogseverity-text notice) then -/var/log/haproxy/haproxy-notice.log ~ 只能添加ifno和notice其他的要手动添加格式类似 .................... systemctl restart rsyslog.service haproxy日志会修改到cd /var/log/haproxy/下/var/log/messages中将不会显示haproxy的日志