1. 程式人生 > >haproxy 負載均衡算法介紹:

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 負載均衡算法介紹: