日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

haproxy负载均衡_使用haproxy搭建web集群

發(fā)布時(shí)間:2023/12/31 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 haproxy负载均衡_使用haproxy搭建web集群 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

會(huì)不會(huì)有那么一天,生活可以簡單到每天清早踏上一輛載著鮮花的腳踏車,微笑著穿過窄窄的街巷,為愛花的人送去芬芳,為需要知識(shí)的你送去幫助。

簡介

在前面已經(jīng)學(xué)習(xí)了使用Nginx、LVS做負(fù)載均衡群集,它們都具有各自的特點(diǎn),本章將要介紹另一款比較流行的群集調(diào)度工具Haproxy。首先介紹負(fù)載均衡常用調(diào)度算法,然后介紹Haproxy 搭建Web群集的方法.最后介紹Haproxy的參數(shù)優(yōu)化和日志配置。

本章重點(diǎn)

  • 負(fù)載均衡常用調(diào)度算法

  • 使用Haproxy 搭建Web群集

一,HTTP請求

????1.http

????????通過URL訪問網(wǎng)站使用的協(xié)議是HTTP協(xié)議,此類請求一般稱為HTTP請求。HTTP請求的方式分為GET方式和POST方式。當(dāng)使用瀏覽器訪問某一個(gè)URL,會(huì)根據(jù)請求URL返回狀態(tài)碼,通常正常的狀態(tài)碼為2××、3××(如200、301),如果出現(xiàn)異常會(huì)返回4××、5××(如400,500)。

????????例如,訪問http://www.test.com/a.php2ld=123.就是一個(gè)GET請求,如果訪問正常,會(huì)從服務(wù)器的日志中獲取200狀態(tài)碼。假如此請求使用POST方式,那么傳遞給a.php的ld參數(shù)依舊是123,但是瀏覽器的URL將不會(huì)顯示后面的ld=123字樣,因此表單類或者有用戶名、密碼等內(nèi)容提交時(shí)建議使用POST方式。不管使用哪種方式,最終a.php獲取的值是一樣的。

????????2.負(fù)載均衡常用調(diào)度算法

LVS、Haproxy.Nginx最常用的調(diào)度算法有三種,如下所述。

????????RR(Round Robin):RR算法是最簡單最常用的一種算法,即輪詢調(diào)度。例如,有三個(gè)節(jié)點(diǎn)A.B.C.第一個(gè)用戶訪問會(huì)被指派到節(jié)點(diǎn)A.第二個(gè)用戶訪問會(huì)被指派到節(jié)點(diǎn)B.第三個(gè)用戶訪問會(huì)被指派到節(jié)點(diǎn)C.第四個(gè)用戶訪問繼續(xù)指派到節(jié)點(diǎn)A.輪詢分配訪問請求實(shí)現(xiàn)負(fù)載均衡效果。此算法還有一種加權(quán)輪詢,即根據(jù)每個(gè)節(jié)點(diǎn)的權(quán)重輪詢分配訪問請求。

????????LC(Least Conmections):LC算法即最小連接數(shù)算法,根據(jù)后端的節(jié)點(diǎn)連接數(shù)大小動(dòng)態(tài)分配前端請求。例如,有三個(gè)節(jié)點(diǎn)A、B、C.各節(jié)點(diǎn)的連接數(shù)分別為A:4.B:5、C:6.此時(shí)如果有第一個(gè)用戶連接請求,會(huì)被指派到A上,連接數(shù)變?yōu)锳:5、B:5.C:6;第二個(gè)用戶請求會(huì)繼續(xù)分配到A上,連接數(shù)變?yōu)锳:6、B:5.C:6;再有新的請求會(huì)分配給B,每次將新的請求指派給連接數(shù)最小的客戶端。由于實(shí)際情況下A、B、C的連接數(shù)會(huì)動(dòng)態(tài)釋放,很難會(huì)出現(xiàn)一樣連接數(shù)的情況,因此此算法相比較rr算法有很大改進(jìn),是目前用到比較多的一種算法。

????????SH(Source Hashing):SH即基于來源訪問調(diào)度算法,此算法用于一些有Session會(huì)話記錄在服務(wù)器端的場景,可以基于來源的IP,Cookie等做群集調(diào)度。例如,使用基于源IP的群集調(diào)度算法,有三個(gè)節(jié)點(diǎn)A.B、C.第一個(gè)用戶第一次訪問被指派到了A,第二個(gè)用戶第一次訪問被指派到了B.

當(dāng)?shù)谝粋€(gè)用戶第二次訪問時(shí)會(huì)被繼續(xù)指派到A.第二個(gè)用戶第二次訪問時(shí)依舊會(huì)被指派到B,只要負(fù)載均衡調(diào)度器不重啟,第一個(gè)用戶訪問都會(huì)被指派到A,第二個(gè)用戶訪問都會(huì)被指派到B,實(shí)現(xiàn)群集的調(diào)度。此調(diào)度算法好處是實(shí)現(xiàn)會(huì)話保持,但某些P訪問量非常大時(shí)會(huì)引起負(fù)載不均衡,部分節(jié)點(diǎn)訪問量超大,影響業(yè)務(wù)使用。

????????3.常見的Web群集調(diào)度器

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

二,案例

????????1.案例環(huán)境

主機(jī)操作系統(tǒng)IP地址
apache服務(wù)器1Centos7.4192.168.100.10
apache服務(wù)器2Centos7.4192.168.100.20
haproxyCentos7.4

外網(wǎng)IP:192.168.200.10

內(nèi)網(wǎng)IP:192.168.100.30

win10測試win10企業(yè)版192.168.200.10

????2.搭建兩臺(tái)Apache服務(wù)器

由于兩臺(tái)Apache服務(wù)搭建過程一樣,這里只演示一臺(tái)搭建過程供參考

安裝http服務(wù)

????3.向網(wǎng)站主頁文件輸入內(nèi)容"centos01111111"(第二臺(tái)apache服務(wù)器輸入“centos0222222”)

????4.啟動(dòng)服務(wù)并設(shè)置為開機(jī)自啟

? ?5.分別測試兩臺(tái)apache的可用性

6.配置haproxy

????1)安裝依賴

????2)使用源代碼方式將haproxy解壓到/usr/src下

并支持64位系統(tǒng)

????3)安裝

????4)生成主配置文件

????5)生成服務(wù)控制文件

????6)備份主配置文件并進(jìn)行修改支持負(fù)載均衡

??????? Haproxy配置文件通常分為三個(gè)部分,即global、defaults和listen。global為全局配置,defaults為默認(rèn)配置,listen為應(yīng)用組件配置。

??????? global配置項(xiàng)通常有下面配置參數(shù),以示例參數(shù)說明如下。

??????? defaults配置項(xiàng)配置默認(rèn)參數(shù),一般會(huì)被應(yīng)用組件繼承,如果在應(yīng)用組件中沒有特別聲明,將安裝默認(rèn)配置參數(shù)設(shè)置。

????7)創(chuàng)建臨時(shí)運(yùn)行目錄

????8)設(shè)置為系統(tǒng)服務(wù)并設(shè)置為開機(jī)自啟

????9)修改外網(wǎng)IP地址

????????10)開啟haproxy

測試:

測試環(huán)境?:win10為vmnet2模式

更改IP繼續(xù)訪問

三,Haproxy的日志

??????? Haproxy 的日志默認(rèn)輸出到系統(tǒng)的syslog中,查看起來不是非常方便,為了更好地管理Haproxy的日志,我們在生產(chǎn)環(huán)境中一般單獨(dú)定義出來,定義的方法如下所述。

(1)修改Haproxy配置文件中關(guān)于日志配置的選項(xiàng),將原有的日志配置更改為以下配置:

這兩行配置放到Haproxy的global 配置項(xiàng)目中,主要是將Haproxy的info及notice日志分別記錄到不同的日志文件中。

重啟Haproxy,完成Haproxy配置。

(2)修改rsyslog配置。

為了便于管理,將Haproxy相關(guān)的配置獨(dú)立定義到haproxy.conf.并放到/etc/rsyslog.d/下,rsyslog啟動(dòng)時(shí)會(huì)自動(dòng)加載此目錄下的所有配置文件。

加入下面的內(nèi)容:

這部分配置是將Haproxy的info 日志記錄到/var/log/haproxy/haproxy-info.log下,將notice日志記錄到/var/log/haproxy/haproxy-notice.log下,其中“&~”表示當(dāng)日志寫入日志文件后,rsyslog停止處理這個(gè)信息。這里配置的語法是使用rainerscript腳本語言寫的。

保存配置文件并重啟rsyslog服務(wù),完成rsyslog配置。

(3)測試日志信息。

在客戶端訪問hup://192.168.1.60/test.html后,可以使用tail-f/var/log/haproxy/

haproxy-info.log 即時(shí)查看Haproxy的訪問請求日志信息。

故事很短,道理很長,學(xué)無止境,不忘初心,砥礪前行 ?

微信搜索 “徐阿馬” ?關(guān)注公眾號(hào),期待你的關(guān)注!

總結(jié)

以上是生活随笔為你收集整理的haproxy负载均衡_使用haproxy搭建web集群的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。