HAProxy的调度算法分为静态和动态调度算法
静态调度算法:
- static-rr #基于权重的固定轮询,不支持慢启动
- first #自上而下调度,满了跑下一个
动态调度算法
- roundrobin #加权轮询调度
- leastconn #加权的最少连接的动态,适用于长连接。
- random
其他算法:可基于(hash-type consistent一致性hash) 从静态(hash-type map-base取模法)转换至动态
- source #基于源地址hash
- uri #基于用户请求的URI
- url-param #基于用户请求的URL中的参数\?param
- hdr #基于用户请求HTTP访问中的header中的参数
- rdp-cookie #rdp-cookie对远程桌面进行负载,使用cookie会话保持。需要开启IPV4.IP_FORWARD
总结:静态的就是配置文件固定多少启动后就是多少,动态的就是可以动态的修改权重后根据权重改变调度。
使用socat查看和动态修改权重:
echo “show info” | socat stdio sock文件目录
echo “get weight listen组名/server名称” | socat stdio sock文件目录
echo “set weight listen组名/server名称 权重级别” | socat stdio sock文件目录