一、Haproxy配置介绍:
-
配置文件:/usr/local/haproxy/etc/haproxy.cfg
-
balance roundrobin # 负载均衡算法配置
二、Haproxy负载均衡算法介绍:
-
balance roundrobin # 轮询,软负载均衡基本都具备这种算法
-
balance static-rr # 根据权重,建议使用
-
balance leastconn # 最少连接者先处理,建议使用
-
balance source # 根据请求源IP,建议使用
-
balance uri # 根据请求的URI
-
balance url_param # 根据请求的URl参数‘balance url_param‘ requires an URL parameter name
-
balance hdr(name) # 根据HTTP请求头来锁定每一次HTTP请求
-
balance rdp-cookie(name) # 根据据cookie(name)来锁定并哈希每一次TCP请求
三、用户Session保持、共享:
由于用户请求经过Haproxy处理转发到不同服务器之后,可能导致Session会话不同步的问题,若想实现会话共享或保持,可采用如下3种方式:
1、基于IP地址:
- 配置:balance source
- 实现原理:类似Nginx的IP_Hash,将用户IP经过Hash对比判断之后,将请求转发到后端服务器。
2、基于Cookie识别:
- 配置:cookie SESSION_COOKIE insert indirect nocache
- 实现原理:向Web服务器端发送给客户端的Cookie中插入(或添加加前缀)haproxy定义的后端的服务器COOKIE ID。
3、基于Session识别:
- 配置:appsession JSESSIONID len 64 timeout 5h request-learn
- 实现原理:Haproxy将后端服务器产生的session和后端服务器标识存在haproxy中的一张表里。客户端请求时先查询这张表。
时间: 2024-10-14 00:43:10