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
下一篇 2017-05-17

相關推薦

  • CentOS6啟動流程

    CentOS 6 啟動流程 | root密碼重置 | 添加系統服務 一、CentOS 6 啟動流程:     1)POST加電自檢         Power-On-Self-Test,主板在接通電源后,系統首先由BIOS程序來對對CPU、…

    Linux干貨 2016-09-08
  • 圖解Linux終端類型

    個人淺見 歡迎指正

    Linux干貨 2016-10-16
  • net25-第12周作業

    1、請描述一次完整的http請求處理過程; – (1)客戶端發送http請求– (2)服務端建立或處理連接,接受請求或拒絕請求– (3)接受請求:接受客戶端對服務器某一資源的請求– (4)處理請求:對請求報文進行解析,獲取客戶端請求的資源及請求方法等相關信息– (5)訪問資源:獲取請求報文中請求的資…

    Linux干貨 2017-05-15
  • Linux的發展史

    前言: Linux是什么?    我們知道Linux這玩意兒是在計算機上面運作的,所以說Linux就是一組軟件。問題是這個軟件是操作系統還是應用程序? 且Linux可以在哪些種類的計算機上面運作?而Linux源自哪里?為什么Linux 還不用錢?這些我們都得來談一談先!      計算機系…

    Linux干貨 2016-10-13
  • 常見RAID級別

    什么是RAID?     獨立磁盤冗余陣列(RAID,Redundant Arrary of Independent Disks),舊稱廉價磁盤冗余陣列(Redundant Arrary of Inexpensive Disks),簡稱磁盤陣列?;舅枷刖褪前讯鄠€相對便宜的硬盤組合起來,成為一個硬盤陣列組,使性能達到甚至超過一個價格昂貴、…

    Linux干貨 2016-05-29
  • RAID詳解

    1、什么是RAID RAID:獨立硬盤冗余陣列,舊稱廉價磁盤冗余陣列,簡稱磁盤陣列。其基本思想就是將多個相對便宜的硬盤結合起來,成為一個磁盤陣列,是性能達到甚至超過一個昂貴、容量巨大的硬盤,根據選擇的版本不同,RAID比單顆硬盤有以下一個或多個方面的好處:增強數據集成度,增強容錯功能,增加處理量或容量。目前應用較多的有RAID0,RAID1,RAID4,RA…

    Linux干貨 2017-01-03
欧美性久久久久