負載均衡器 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