配置HAProxy負載平衡集群

2021-10-14 18:50:11 字數 3163 閱讀 7636

步驟一:配置後端web伺服器

設定兩台後端web服務(如果已經配置完成,可用忽略此步驟)

步驟二:部署haproxy伺服器配置網路,安裝軟體

# echo 'net.ipv4.ip_forward = 1' >> sysctl.conf  //開啟路由** 

# sysctl -p

# yum -y install haproxy

修改配置檔案

# vim /etc/haproxy/haproxy.cfg 

global

log 127.0.0.1 local2 ###[err warning info debug]

chroot /usr/local/haproxy

pidfile /var/run/haproxy.pid ###haproxy的pid存放路徑

maxconn 4000 ###最大連線數,預設4000

user haproxy

group haproxy

daemon ###建立1個程序進入deamon模式執行

defaults

mode http ###預設的模式mode log global ###採用全域性定義的日誌 tcp:四層排程 http:七層排程 health:只做健康檢查

option dontlognull ###不記錄健康檢查的日誌資訊

option httpclose ###每次請求完畢後主動關閉http通道

option httplog ###日誌類別http日誌格式

option forwardfor ###後端伺服器可以從http header中獲得客戶端ip

option redispatch ###serverid伺服器掛掉後強制定向到其他健康伺服器

timeout connect 10000 #如果backend沒有指定,預設為10s

timeout client 300000 ###客戶端連線超時

timeout server 300000 ###伺服器連線超時

maxconn 60000 ###最大連線數

retries 3 ###3次連線失敗就認為服務不可用,也可以通過後面設定

listen stats

bind 0.0.0.0:1080 #監聽埠

stats refresh 30s #統計頁面自動重新整理時間

stats uri /stats #統計頁面url

stats realm haproxy manager #統計頁面密碼框上提示文字

stats auth admin:admin #統計頁面使用者名稱和密碼設定

#stats hide-version #隱藏統計頁面上haproxy的版本資訊

listen websrv-rewrite 0.0.0.0:80 #集群名

cookie serverid rewrite #在原有的cookie上加標記(根據需求設定)

balance roundrobin #輪詢演算法

啟動伺服器並設定開機啟動

# systemctl start haproxy 

# systemctl enable haproxy

步驟三:客戶端驗證客戶端配置與haproxy相同網路的ip位址,並使用火狐瀏覽器訪問測試排程器是否正常工作,客戶端訪問測試狀態監控頁面是否正常

備註:queue佇列資料的資訊(當前佇列數量,最大值,佇列限制數量);

session rate每秒會話率(當前值,最大值,限制數量);

sessions總會話量(當前值,最大值,總量,lbtot: total number of times a server was selected選中一台伺服器所用的總時間);

bytes(入站、出站流量);

denied(拒絕請求、拒絕回應);

errors(錯誤請求、錯誤連線、錯誤回應);

warnings(重新嘗試警告retry、重新連線redispatches);

server(狀態、最後檢查的時間(多久前執行的最後一次檢查)、權重、備份伺服器數量、down機伺服器數量、down機時長)

nginx分析

工作在7層,可以針對http做分流策略;正規表示式比haproxy強大;安裝、配置、測試簡單,通過日誌可以解決多數問題;併發量可以達到幾萬次;nginx還可以作為web伺服器使用

僅支援http、https、mail協議,應用面小;監控檢查僅通過埠,無法使用url檢查

lvs分析

負載能力強,工作在4層,對記憶體、cpu消耗低;配置性低,沒有太多可配置性,減少人為錯誤;應用面廣,幾乎可以為所有應用提供負載均衡

不支援正規表示式,不能實現動靜分離;如果**架構龐大,lvs-dr配置比較繁瑣

haproxy分析

支援session、cookie功能;可以通過url進行健康檢查;效率、負載均衡速度,高於nginx,低於lvs;支援tcp,可以對mysql進行負載均衡;排程演算法豐富

正則弱於nginx;日誌依賴syslogd,不支援apache日誌

配置HAProxy負載平衡集群

1 問題 準備4臺linux伺服器,兩台做web伺服器,1臺安裝haproxy,1臺做客戶端,實現如下功能 客戶端訪問haproxy,haproxy分發請求到後端real server 開啟haproxy監控頁面,及時檢視排程器狀態 設定haproxy為開機啟動 2 方案 使用4臺虛擬機器,1臺作為...

配置HAProxy負載平衡集群 (隨堂筆記)

配置檔案說明 haproxy配置引數 命令列 總是具有最高優先順序 global 全域性設定程序級別引數 宣告 default listen frontend backend 配置文家由以下部分構成 default 為後續的其他部分設定預設引數,預設引數可以被後續部分重置 frontend 描述接受...

ActiveMQ 集群負載平衡

目前的架構 負載均衡方案 第二種方案呢,假設我們整個應用是個食堂,這個食堂裡面有好多飯口,每個飯口有好多大爺大媽 咦 每個飯口實現了高可用,即使有大媽不上班,還有大爺頂上。針對好多學生 使用者 實現了負載均衡,學生被基本均勻的分配到每乙個飯口上。食堂 應用 飯口 集群 大媽 伺服器 現在我們利用br...