1、haproxy调度
1、首先三台主机关闭防火墙和selinux
haproxy主机的配置
web1主机配置:主机IP172.25.254.10
web2主机配置:主机IP172.25.254.20
客户端:测试
2、为haproxy单独生成日志
proxies
backup
socat工具
Haproxy算法
静态算法
static-rr算法 :基于权重的轮询算法
不支持socat热处理;慢启动
first算法
按服务器列表中服务器顺序自上而下调度;一台服务器达到最大连接数时;才会调用新的服务器
动态算法:
运行时改权重;基于后端服务器(状态/负载)调整请求访问的后端服务器
roundrobin算法:
默认算法:基于权重的轮询动态调度算法
动态:支持权重的运行时调整;支持real server 权重动态调整;支持慢启动
leastconn算法
基于当前连接数最少的服务器调整优先调度 不基于权重
其他算法
Source:
源地址hash:同一个源地址请求转发到同一个后端服务器
uri
对于uri左半部分或整个uri做hash ; 再将(hash%总权重)=的值 转发给(指定的)后端服务器
url_param
url_param对用户请求的url中的 params 部分中的一个参数key对应的value值作hash计算,并由服务器总权重相除以后派发至某挑出的服务器,后端搜索同一个数据会被调度到同一个服务器,多用与电商通常用于追踪用户,以确保来自同一个用户的请求始终发往同一个realserver
如果无没key,将按roundrobin算法
header
针对用户每个http头部(header)请求中的指定信息做hash,
此处由 name 指定的http首部将会被取出并做hash计算
然后由服务器总权重取模以后派发至某挑出的服务器,如果无有效值,则会使用默认的轮询调度。
五、高级功能及配置
5、1 cookie会话
5、2 HAProxy状态页
启用状态页
5、3 Ip透传
5、4 acl
5.6 HAProxy 四层负载
#10和20的maraidb配置
create user lee@'%' identified by 'lee';
grant all on *.* to lee@'%';