亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

使用Haproxy搭建web群集

發布時間:2020-06-03 00:10:57 來源:網絡 閱讀:138 作者:wx5d3fd1efe40e3 欄目:系統運維

內容要點:

一、常見的 Web集群調度器:

二、Haproxy 應用分析:

三、Haproxy 調度算法原理:

四、實驗示例:

第一步:搭建兩臺 Nginx 服務器

第二步:搭建 Haproxy

第三步:在 win7 上用瀏覽器訪問調度服務器(192.168.100.100/test.html)

第四步:優化日志

一、常見的 Web集群調度器:

目前常見的 Web 集群調度器分為軟件和硬件,軟件通常使用開源的LVS、Haproxy、Nginx,硬件一般使用比較多的是 F5,也有很多人使用國內的一些產品,如梭子魚、綠盟等。


二、Haproxy 應用分析:

(1)LVS 在企業應用中抗負載能力很強,但存在不足:


  • LVS 不支持正則處理,不能實現動靜分離;

  • 對于大型網站,LVS 的實現配置復雜,維護成本相對較高

(2)Haproxy 是一款可提供高可用性、負載均衡、及基于 TCP 和 HTTP 應用的代理的軟件


  • 特別適用于負載特別大的 Web站點;

  • 運行在當前的硬件上可支持數以萬計的并發連接請求

三、Haproxy 調度算法原理:

Haproxy 支持多種調度算法,最常用的有三種:


(1)RR:


RR 算法是最簡單最常用的一種算法,即輪詢調度;

理解舉例

  • 有三個節點A、B、C,第一個用戶訪問會被指派到節點A,第二個用戶訪問會被指派到節點B,第三個用戶訪問會被指派到節點

  • 第四個用戶訪問繼續指派到節點A,輪詢分配訪問請求實現負載均衡效果


(2)LC:


LC 算法即最小連接數算法,根據后端的節點連接數大小動態分配前端請求;

理解舉例

  • 有三個節點A. B、C,各節點的連接數分別為A:4、B:5、 C:6, 此時如果有第一個用戶連接請求,會被指派到A上,連接數變為A:5、B:5、 C:6

  • 第二個用戶請求會繼續分配到A上,連接數變為A:6、B:5、 C:6; 再有新的請求會分配給B,每次將新的請求指派給連接數最小的客戶端

  • 由于實際情況下A. B、C的連接數會動態釋放,很難會出現一樣連接數的情況,因此此算法相比較r算法有很大改進,是目前用到比較多的-種算法

(3)SH:


SH 即基于來源訪問調度算法,次算法用于一些有 Session 會話記錄在服務器端的場景,可以基于來源的 IP、Cookie 等做集群調度。

理解舉例

  • 有三個節點A. B、C,第一個用戶第一-次訪問被指派到了A,第二個用戶第一次訪問被指派到了B

  • 當第一個用戶第二次訪問時會被繼續指派到A,第二個用戶第二次訪問時依舊會被指派到B,只要負載均衡調度器不重啟,第一個用戶訪問都會被指派到A,第二個用戶訪問都會被指派到B,實現集群的調度

  • 此調度算法好處是實現會話保持,但某些IP訪問量非常大時會引起負載不均衡,部分節點訪問量超大,影響業務使用

四、實驗示例:

(1)環境準備:


  • 兩臺 Nginx 服務器,一臺 Haproxy調度服務器,一臺window作為測試用;

  • 在兩臺 Nginx服務器寫兩個測試網頁;

  • 所有主機網卡都設置成僅主機模式,修改好網卡信息;

  • 客戶端可以通過訪問調度服務器,訪問到兩臺節點服務器,不需要訪問真實服務器地址。

角色IP地址
Haproxy192.168.100.100
Nginx 01192.168.100.201
Nginx 02192.168.100.202
window7(作為測試用)192.168.100.50


第一步:搭建兩臺 Nginx 服務器

關于nginx的搭建可以看我之前的博客,有詳細的搭建過程和細節,這邊具體細節不再寫了。

搭建好 Nginx服務之后,在 Nginx主頁 html 中添加一個測試主頁,便于驗證實驗結果:

第一臺:

echo?"this?is?kgc?web"?>?/usr/local/nginx/html/tset.html

第二臺:

echo?"this?is?accp?web"?>?/usr/local/nginx/html/tset.html


第二步:搭建 Haproxy

(1)安裝編譯工具:

yum?install?bzip2-devel?pcre-devel?gcc?gcc-c++?make?-y


(2)可以通過遠程掛載將 haproxy壓縮包掛載到本地,再解壓縮:

?tar?zxvf?haproxy-1.5.19.tar.gz?-C?/opt/
?//解壓到/opt目錄下


(3)編譯:

make?TARGET=linux3100
注:這個版本號,可以使用?uname?-a?命令來查看版本號
make?install


(4)創建文件,進行備份修改:


mkdir?/etc/haproxy
cp?examples/haproxy.cfg?/etc/haproxy/

vim?/etc/haproxy/haproxy.cfg

global
????????log?127.0.0.1???local0
????????log?127.0.0.1???local1?notice
????????#log?loghost????local0?info
????????maxconn?4096
????????uid?99
????????gid?99
????????daemon
????????#debug
????????#quiet
defaults
????????log?????global
????????mode????http
????????option??httplog
????????option??dontlognull
????????retries?3
????????maxconn?2000
????????contimeout??????5000
????????clitimeout??????50000
????????srvtimeout??????50000
????????
listen?webcluster?0.0.0.0:80
???????option?httpchk?GET?/test.html
???????balance?roundrobin
???????server?inst1?192.168.100.201:80?check?inter?2000?fall?3
???????server?inst2?192.168.100.202:80?check?inter?2000?fall?3


(5)啟動腳本:


cp?examples/haproxy.init?/etc/init.d/haproxy
?//復制到init.d啟動進程中
?
chmod?+x?/etc/init.d/haproxy
?//添加執行權限
?
chkconfig?--add?haproxy?
?//添加到service,便于識別
?
ln?-s?/usr/local/sbin/haproxy?/usr/sbin/haproxy
?//創建軟連接


(6)開啟服務:

service?haproxy?start


關閉防火墻等環境


[root@Haproxy?haproxy-1.5.19]#?systemctl?stop?firewalld.service?
[root@Haproxy?haproxy-1.5.19]#?setenforce?0


第三步:在 win7 上用瀏覽器訪問調度服務器(192.168.100.100/test.html)

http://192.168.100.100/test.html

使用Haproxy搭建web群集

使用Haproxy搭建web群集

第四步:優化日志

對調度器的配置文件進行優化和修改,可以將正常的訪問信息和錯誤的信息分別存放在不同的日志文件中,方便管理;Haproxy的日志默認是輸出到系統的 syslog 中,在生產環境中一般單獨定義出來。


(1)修改主配置文件


vim/etc/haproxy/haproxy.cfg

修改global段:
log?/dev/log????local0?info??????//正常訪問的信息存放地
log?/dev/log????local0?notice????//提示、警告等信息存放地


使用Haproxy搭建web群集

(2)重啟服務

service?haproxy?restart


(3)創建文件,并添加規則


[root@Haproxy?haproxy]#?touch?/etc/rsyslog.d/haproxy.conf
[root@Haproxy?haproxy]#?cd?/etc/rsyslog.d/

[root@Haproxy?rsyslog.d]#?vim?haproxy.conf?

if?($programname?==?'haproxy'?and?$syslogseverity-text?==?'info')
then?-/var/log/haproxy/haproxy-info.log
&~

if?($programname?==?'haproxy'?and?$syslogseverity-text?==?'notice')
then?-/var/log/haproxy/haproxy-notice.log
&~


(4)重啟日志服務

systemctl?restart?rsyslog.service


(5)查看日志文件: /var/log/haproxy/haproxy-info.log

cat?haproxy-info.log

使用Haproxy搭建web群集


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

治多县| 肥东县| 嘉黎县| 阿鲁科尔沁旗| 津市市| 南汇区| 曲阳县| 保山市| 驻马店市| 泾阳县| 黄浦区| 临澧县| 晴隆县| 兴和县| 泰州市| 屏边| 榆树市| 汝州市| 衡东县| 永修县| 珠海市| 汤阴县| 江山市| 库伦旗| 深泽县| 双桥区| 咸丰县| 白城市| 阿荣旗| 开阳县| 水富县| 富裕县| 梁平县| 黄山市| 额敏县| 潜江市| 墨江| 克山县| 闽清县| 沙田区| 上犹县|