首页 > 代码库 > Haproxy 负载均衡算法介绍:

Haproxy 负载均衡算法介绍:

一、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中的一张表里。客户端请求时先查询这张表。

Haproxy 负载均衡算法介绍: