HAProxy 入門及基礎負載應用

A、首介 。。。

        HAProxy——開放源代碼軟件,是一款代理服務器和偽4層的負載均衡軟件解決方案。基于TCP(第四層)和HTTP(第七層)應用的代理軟件,支持高并發鏈接,它的工作模式可以將其簡單而安全地整合到當前的服務架構中,同時可以保護你的WEB服務器不暴露到網絡上(設置成代理來實現的 通過VIP將后端的web服務器隱藏到內網中)。haproxy進入了商業版本以后,就進入了快速迭代周期,目前正在維護的版本有 1.4  1.5  1.6  1.7;

B、特點。。。

        b1、免費開源,穩定性非常好

        b2、支持鏈接拒絕,可以用于防止DDoS攻擊

        b3、支持虛擬主機

        b4、能夠補充Nginx的一些缺點,路由HTTP請求到后端服務器,基于cookie作會話綁定;同時支持通過獲取指定的url來檢測后端服務器的狀態

        b5、能夠將多個請求反代至后端主機完成負載均衡的效果

        b6、通過一個URI接口web應用程序為通過身份驗證的用戶提供報告詳細狀態.

        b7、自帶監控服務器狀態的頁面,實時監控狀態、強大的后端主機健康檢測功能.

        b8、支持 單一進程模型,事件驅動,彈性二叉樹;

        b9、負載均衡策略算法較多、具體有如下8種:

    ① roundrobin,表示簡單的輪詢,這個是負載均衡基本都具備的;

    ② static-rr,表示根據權重,選擇 server 的邏輯最為簡單

    ③ leastconn,表示最少連接者先處理
    ④ source,表示根據請求源IP,這個跟Nginx的IP_hash機制類似,用其作為解決session問題的一種方法
    ⑤ ri,表示根據請求的URI;
    ⑥ rl_param,表示根據請求的URl參數’balance url_param’ requires an URL parameter name;
    ⑦ hdr(name),表示根據HTTP請求頭來鎖定每一次HTTP請求;

    ⑧ rdp-cookie(name),表示根據據cookie(name)來鎖定并哈希每一次TCP請求。

C、安裝。。。

        安裝較為簡單,在Centos6.4版本后,haproxy就被收錄進ISO光盤的base倉庫,可見其較高的市場占有率和大眾接受度,

         c1、查看安裝信息 yum info haproxy    HAProxy 入門及基礎負載應用    

         c2、安裝  yum install haproxy  -y              


D、程序環境 。。。 

        d1、程序配置文件路徑

                配置文件: /etc/haproxy/haproxy.cfg
                Unit File: /usr/lib/systemd/system/haproxy.service (CentOS7)
                主程序: /usr/sbin/haproxy
                日志管理輔助: /usr/bin/halog
                網段計算輔助文件: /usr/bin/iprange

                內建的錯誤頁文件:

            /usr/share/haproxy/400.http
            /usr/share/haproxy/403.http
            /usr/share/haproxy/408.http
            /usr/share/haproxy/500.http
            /usr/share/haproxy/502.http
            /usr/share/haproxy/503.http
            /usr/share/haproxy/504.http             

         d2、Haproxy配置文件分析

                首先備份下

                    cp /etc/haproxy/haproxy.cfg{,.bak}

                打開haproxy.cfg

                    vim /etc/haproxy/haproxy.cfg

                global: 全局配置段,參數是進程級的,通常是和操作系統相關,如果配置無誤,就不需要再次進行修改
                proxles 代理配置段如下:
                    — defaults <name>:  為frontend, backend以及listen提供默認配置;
                    — frontend <name>:  相當于nginx的server段,接收請求的前端虛擬節點
                    — backend <name>: 后端服務集群的配置,是真實服務器,一個Backend對應一個或者多個實體服務器,相當于nginx的upstream段,
                                       

E、基礎負載測試。。。

        測試準備

            e1、3臺主機,第1臺(7.3)安裝haproxy做調試器,第2,3臺(6.8)安裝httpd做web應用,配置/var/www/html/index.html測試頁面,(3臺IP之間需互通)

            e2、啟動服務: service httpd start,并監測80端口是否開啟,ss -tnlp |grep 80 , 瀏覽器訪問時確認關閉防火墻:iptables -F 及selinux : getenforce,

            e3、確認可正常瀏覽

        HAProxy 入門及基礎負載應用

e4、接下來配置haproxy負載,僅更改幾個配置點即可,主要更改frontend和backend段

  1.  可自定義frontend的main名稱,加端口即可,如web的80 , ohoh *:80
  2.  default_backend 也可自定,不要和main名稱一樣即好, web_ser
  3. 此段的中間幾行,默認即可,也可刪除
  4. 配置backend段,修改backend名稱同上web_ser
  5. balance默認調度算法 roundrobin簡單輪詢,默認
  6. 復制一行server, 將后端的兩臺http服務器IP和端口寫入。保存退出
  7. 啟動haproxy服務, systemctl  start  haproxy.service

        HAProxy 入門及基礎負載應用


    END:瀏覽器訪問,刷新查看兩臺切換

             HAProxy 入門及基礎負載應用

            HAProxy 入門及基礎負載應用


待續。。。




                

原創文章,作者:zzzzzzzzzzzzzzzz.x,如若轉載,請注明出處:http://www.www58058.com/76030

(0)
zzzzzzzzzzzzzzzz.xzzzzzzzzzzzzzzzz.x
上一篇 2017-05-17 12:09
下一篇 2017-05-17 12:51

相關推薦

  • N25第一周作業-Linux初步認識

    一.描述計算機的組成及其功能。     計算機組成有兩部份,一為硬件,二為軟件OS         硬件:CPU,負責運算操作。          &…

    Linux干貨 2016-12-06
  • LVM管理

    一、簡介 LVM是邏輯盤卷管理(Logical Volume Manager)的簡稱,它是Linux環境下對磁盤分區進行管理的一種機制,LVM是建立在硬盤和分區之上的一個邏輯層,來提高磁盤分區管理的靈活性。 LVM的工作原理是通過將底層的物理硬盤抽象的封裝起來,然后以邏輯卷的方式呈現給上層應用。在傳統的磁盤管理機制中,我們的上層應用是直接訪問文件系統,從而對…

    Linux干貨 2016-09-06
  • 日常練習加部分步驟注釋

                                                      …

    2017-07-30
  • 馬哥教育網絡班21期+第11周課程練習

    1、詳細描述一次加密通訊的過程,結合圖示最佳。 單向加密:只能加密,不能解密,提取數據指紋(特征碼),來保證數據的完整性,如上圖的第二步,單向加密的協議有MD5,SHA等 非對稱加密:公鑰和私鑰成對出現,私鑰必須本機器保存,用公鑰加密的數據,只能使用與之配對兒的私鑰解密;反之亦然,數字簽名是私鑰加密特征碼,如上圖的第三步;實現對稱秘鑰交換,如上圖第五步 對稱…

    Linux干貨 2016-08-15
  • 第十五周作業

    溫故知新 1、總結sed和awk的詳細用法 sed [OPTION]… ‘script’ [input-file] …script:地址定界編輯命令 常用選項:-n:不輸出模式空間中的內容至屏幕;-e script, –expression=script:多點編輯;-f /PATH/TO/SED_S…

    Linux干貨 2017-12-04
  • 硬鏈接與軟鏈接的區別

    硬鏈接(Hard Link):   硬連接指通過索引節點來進行鏈接(即一個指針指向文件索引節點)。在Linux的文件系統中,保存在磁盤分區中的文件不管是什么類型都給它分配一個編號,稱為索引節點號(Inode Index)。在Linux中,多個文件名指向同一索引節點是存在的。一般這種鏈接就是硬鏈接。硬鏈接的作用是允許一個文件擁有多個有效路徑…

    Linux干貨 2016-10-20
欧美性久久久久