負載均衡器 haproxy 之初試牛刀
背景
前兩天搭建了 nacos 集羣環境,prometheus 和 grafana 監控也安裝完畢了,根據 nacos 官方建議,集羣模式如下:
上圖負載均衡使用了阿里雲 SLB,但因目前的環境已有 haproxy 在使用,故準備利用原有的 haproxy 資源做負載均衡。
Haproxy 安裝使用
按理說,Haproxy 已經在使用了,我只要修改配置,重新 reload 即可,但爲了熟悉 haproxy,我在測試環境 [centos 7] 搭建一個 haproxy,進行演練。
查看 haproxy 可以安裝的版本
yum list | grep haproxy
顯示:
haproxy.x86_64 1.5.18-9.el7 @base
haproxy18.x86_64 1.8.23-3.el7 epel
pcp-pmda-haproxy.x86_64 4.3.2-13.el7_9 updates
安裝
安裝基本版本即可
yum install haproxy -y
機器啓動時自動開啓 haproxy
systemctl enable haproxy
此時 haproxy 並沒有啓動,可以通過
ps -ef | grep haproxy
修改配置文件
cd /etc/haproxy/
vim haproxy.cfg
設置 server
listen callnacos
bind *:8888
mode http
option httplog
balance roundrobin
server nacos_1 xxx.xxx.xxx.xxx:8868 check
server nacos_2 xxx.xxx.xxx.xxx:8868 check
server nacos_3 xxx.xxx.xxx.xxx:8868 check
check:表示啓用對此後端服務器執行健康狀態檢查。
檢查配置文件是否有效的命令:
haproxy -c -f /etc/haproxy/haproxy.cfg
啓動 haproxy
查看啓動狀態命令
service haproxy status
啓動命令:
service haproxy start
驗證進程:
ps -ef | grep haproxy
驗證 haproxy 是否起效
瀏覽器登錄 8888 端口,訪問 nacos 集羣,登錄成功
說明 haproxy 起作用了。
總結
HAProxy 配置文件根據功能和用途,主要有 5 個部分組成,但有些部分並不是必須的, 可以根據需要選擇相應的部分進行配置。
1、global 部分
用來設定全局配置參數,屬於進程級的配置,通常和操作系統配置有關。
2、defaults 部分
默認參數的配置部分。在此部分設置的參數值,默認會自動被引用到下面的 frontend、
backend 和 listen 部分中,因此,如果某些參數屬於公用的配置,只需在 defaults 部分添加一次即可。而如果在 frontend、backend 和 listen 部分中也配置了與 defaults 部分一樣的參數,那麼 defaults 部分參數對應的值自動被覆蓋。
3、frontend 部分
此部分用於設置接收用戶請求的前端虛擬節點。frontend 是在 HAProxy1.3 版本之後才引入的一個組件,同時引入的還有 backend 組件。通過引入這些組件,在很大程度上簡化了 HAProxy 配置文件的複雜性。frontend 可以根據 ACL 規則直接指定要使用的後端
4、backend 部分
此部分用於設置集羣后端服務集羣的配置,也就是用來添加一組真實服務器,以處理前端用戶的請求。添加的真實服務器類似於 LVS 中的 real server 節點。
5、listen 部分
此部分是 frontend 部分和 backend 部分的結合體。在 HAProxy1.3 版本之前,
HAProxy 的所有配置選項都在這個部分中設置。爲了保持兼容性,HAProxy 新的版本仍然保留了 listen 組件的配置方式。目前在 HAProxy 中,兩種配置方式任選其一即可。
參考資料
【1】 https://blog.csdn.net/qq_28710983/article/details/82194404
本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源:https://mp.weixin.qq.com/s/50VEEHXuV1XrkksrXPn9Kg