HAProxy负载均衡的调度算法(策略):
(1)roundrobin,表示简单的轮询
(2)static-rr,表示根据权重
(3)leastconn,表示最少连接者先处理
(4)source,表示根据请求源IP
(5)uri,表示根据请求的URI,做cdn需使用;
(6)url_param,表示根据请求的URl参数'balance url_param' requires an URL parameter name
(7)hdr(name),表示根据HTTP请求头来锁定每一次HTTP请求;
(8)rdp-cookie(name),表示根据cookie(name)来锁定并哈希每一次TCP请求。
LVS、Nginx、HAproxy的区别:
●LVS基于Linux操作系统内核实现软负载均衡,而HAProxy和Nginx是基于第三方应用实现的软负载均衡;
●LVS是可实现4层的IP负载均衡技术,无法实现基于目录、URL的转发。而HAProxy和Nginx都可以实现4层和7层技术,HAProxy可提供TCP和HTTP应用的负载均衡综合解决方案;
●LVS因为工作在ISO模型的第四层,其状态监测功能单一,而HAProxy在状态监测方面功能更丰富、强大,可支持端口、URL、脚本等多种状态检测方式;
●HAProxy功能强大,但整体性能低于4层模式的LVS负载均衡。
●Nginx主要用于Web服务器或缓存服务器。Nginx的upstream模块虽然也支持群集功能,但是对群集节点健康检查功能不强,性能没有Haproxy好。
实验:
①配置nginx节点服务器:(做静态,不用反向代理)
安装好nginx配置一个index.html的文件
②配置负载均衡器(HAproxy):
安装依赖环境:
解压包:
内核版本、系统位数,64位系统:
创建一个文件名为:haproxy,复制主配置文件到创建的目录:
修改主配置文件:
添加haproxy 系统服务:
检测:
高并发:
再添加一台haproxy均衡器,都做上keepalived:
需要在nginx机子上做vip设定:
测试:
poweroff第一台keepalived