apache高級應用--------負載均衡(LB)

背景html

       負載均衡(Server Load Balancer)是對多臺雲服務器進行流量分發的負載均衡服務,能夠經過流量分發擴展應用系統對外的服務能力,經過消除單點故障提高應用系統的可用性。web


相關算法

      常見的負載均衡實現分別硬件和軟件,apache

     商業硬件負載均衡中應用比較普遍的有F五、Netscaler等相關國際提供商瀏覽器

       優勢:穩定,硬件級別性能高,非系統無關,有強大可靠的技術支持。緩存

           缺點:價格貴,配置冗餘。
服務器

   軟件負載均衡中應用比較普遍的有Nginx,Haproxy、Nginx、LVS, Apache(根據HTTP協議支持的屬性進行L7分發)、A/B Test Gateway、WAF等等.app

      優勢:基於系統與應用的負載均衡,可以更好地根據系統與應用的情況來分配負載。這對於複雜應用是很重要的,性價比高,實際上若是幾臺服務器,用F5之類的硬件產品顯得有些浪費,而用軟件就要合算得多,由於服務器同時還能夠跑應用作集羣等。負載均衡

          缺點:負載能力受服務器自己性能的影響,性能越好,負載能力越大,與系統有關。curl


應用:

    互聯網公司(如淘寶、新浪、騰訊等)使用中比較偏向於軟負載均衡,而像農行、建行,聯通等國企偏向於F5之類的硬件負載均衡。


本次主要基於apache經過簡單演示來介紹負載均衡。

環境:

server: Fedora 24 (因爲博主不喜歡CentOS桌面樣式,因此轉向兄弟版Fedora,應用方式都相差無幾)

ip: 192.168.0.13

wKiom1fAaUjQDvlGAABG-IkIZdA556.png


實戰:

因爲原來已經安裝好了Tengine,因此本次將直接使用Tengine來模擬兩Server站點。分別監聽9096和8080端口提供web服務

站點一:conf/vhost/blog.conf

wKiom1fAamrhRKAwAACofmhCSYA039.png


站點二:conf/vhost/bbs.conf

wKiom1fAarGyecJzAACjUTgKEUU893.png


html目錄下bbs和blog的index.html內容

wKioL1fAazSSzMOjAABB6w6bSAM031.png

啓動Tengin並測試

wKiom1fAa-qhofQBAAD22cIqPmg899.png


web服務器準備好後安裝apache

下載: wget http://mirror.bit.edu.cn/apache//httpd/httpd-2.4.23.tar.gz

解包: tar zxvf httpd-2.4.23.tar.gz

進入: cd httpd-2.4.23

檢查並生成Makefile文件:./configure --prefix=/application/httpd-2.4.23 --enable-so --enable-modules="all"

                        --prefix=/application/httpd-2.4.23  指定安裝目錄

                        --enable-so  編譯出大部分可用的so文件

                        --enable-modules="all" 打開全部模塊列表

編譯並安裝:make && sudo make install


安裝完成後

wKiom1fAcJbSk655AAD_VCEbdTk962.png

    目錄介紹:

    bin: 存放apache查關可執行文件

    build: 存放腳本目錄

    cgi-test: 存放cgi文件目錄

    conf: 存放apache相關配置文件目錄

    htdocs: 存放html相關目錄

    icons: 存放相關圖片目錄

    include:存放.h頭文件目錄

    logs: 存放相關日誌文件目錄

    ..

    ..

    modules: 存放相關模塊.so文件目錄


進入conf/extra目錄

新建httpd-proxy.conf文件

wKioL1fAco3S372oAAGHyf3TIww700.png

2-5行加載apache負載均衡功能必備模塊

6-8行加載apache負載均衡調度算法模塊

11行ProxyRequests Off; 關閉正向代理(開啓反向代理,apache負載均衡基於7層反向代理)

12-15 定義web服務器

16-20 定義開啓Web管理

22-31 定義虛擬主機


修改conf/httpd.conf

增長

#proxy demo

Include conf/extra/httpd-proxy.conf


將ServerName www.example.com:80  修改成

ServerName www.lisea.cn:80


修改/etc/hosts文件

增長192.168.0.13 www.lisea.cn lisea.cn


開啓apache

wKiom1fAdRmBvHgpAACisetCQlM762.png


測試訪問:(因爲瀏覽器訪問會產品緩存和鏈接保持,直接由curl命令模擬訪問請求)

wKiom1fAdW_AAmpEAAC280_rasw777.png


以需求驅動技術,技術自己沒有優略之分,只有業務之分。

相關文章
相關標籤/搜索