版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
云計(jì)算集群技術(shù)與應(yīng)用教學(xué)設(shè)計(jì)課程名稱:云計(jì)算集群技術(shù)與應(yīng)用__授課年級(jí):_______________________授課學(xué)期:_______________________教師姓名:_______________________年月日課程名稱第7章HAProxy七層負(fù)載集群計(jì)劃學(xué)時(shí)6學(xué)時(shí)內(nèi)容分析本章主要介紹HAProxy七層負(fù)載集群的相關(guān)知識(shí),包含HAProxy簡(jiǎn)介、HAProxy配置文件解析、HAProxy七層負(fù)載集群實(shí)戰(zhàn)案例、HAProxy日志配置策略。教學(xué)目標(biāo)與教學(xué)要求【知識(shí)目標(biāo)】理解HAProxy概念。理解HAProxy的特點(diǎn)。理解負(fù)載均衡的性能對(duì)比。了解HAProxy配置文件解析。理解HAProxy日志配置策略。【技能目標(biāo)】掌握部署HAProxy七層負(fù)載集群。掌握部署HAProxy日志配置策略?!舅颊四繕?biāo)】培養(yǎng)學(xué)生團(tuán)結(jié)協(xié)作、合作共贏的精神。引導(dǎo)學(xué)生不斷提高個(gè)人修養(yǎng)和思想道德水平,養(yǎng)成良好的職業(yè)素養(yǎng),為成為一個(gè)合格的運(yùn)維工程師而努力。使學(xué)生認(rèn)識(shí)到科技創(chuàng)新能力在新時(shí)代下對(duì)于國(guó)家、企業(yè)和人民的深遠(yuǎn)意義,從而使學(xué)生樹立大國(guó)擔(dān)當(dāng)與科技使命。教學(xué)重點(diǎn)HAProxy的特點(diǎn)、部署HAProxy七層負(fù)載集群教學(xué)難點(diǎn)HAProxy配置文件解析教學(xué)方式課堂講解配合ppt演示3學(xué)時(shí),上機(jī)演練3學(xué)時(shí)教學(xué)過程第一學(xué)時(shí)(HAProxy簡(jiǎn)介)一、提出需求,導(dǎo)入學(xué)習(xí)任務(wù)(1)思考HAProxy七層負(fù)載集群的學(xué)習(xí)應(yīng)該從何入手。第6章提到的四層負(fù)載均衡技術(shù)主要是根據(jù)IP+端口的方式進(jìn)行負(fù)載,對(duì)所有的請(qǐng)求一視同仁,按指定的算法進(jìn)行調(diào)度。為了滿足業(yè)務(wù)發(fā)展智能化的需求,現(xiàn)階段的網(wǎng)站在OSI參考模型的基礎(chǔ)上創(chuàng)新實(shí)現(xiàn)了七層負(fù)載均衡,對(duì)用戶的請(qǐng)求進(jìn)行智能分類,再交由對(duì)應(yīng)的集群進(jìn)行處理,提高效率的同時(shí)實(shí)現(xiàn)了系統(tǒng)的“人性化”。本章介紹七層負(fù)載均衡技術(shù)HAProxy,以及該技術(shù)在實(shí)際中的應(yīng)用。(2)明確學(xué)習(xí)方向。理解HAProxy概念。理解HAProxy的特點(diǎn)。理解負(fù)載均衡的性能對(duì)比。二、知識(shí)講解(一)HAProxy概念1.概念HAProxy是一款由C語言開發(fā),基于TCP(第四層)和HTTP(第七層)應(yīng)用的負(fù)載均衡軟件,與LVS一樣,是一個(gè)專業(yè)的高性能負(fù)載均衡,并且是免費(fèi)、快速并且可靠的一種解決高負(fù)載的方案。2.HAProxy有3種方式保持客戶端和服務(wù)端Session的親緣性。用戶IP識(shí)別Cookie識(shí)別Session識(shí)別(二)HAProxy的特點(diǎn)1.HAProxy的優(yōu)勢(shì)免費(fèi)開源,負(fù)載均衡功能較為豐富,支持TCP/HTTP兩種協(xié)議。支持8種左右的負(fù)載均衡算法。支持基于事件驅(qū)動(dòng)的鏈接處理模式與單進(jìn)程處理模式。擁有功能豐富的監(jiān)控頁面。具備功能強(qiáng)大的ACL(訪問控制列表)支持。2.HAProxy七層負(fù)載均衡的原理架構(gòu)。3.HAProxy作為七層負(fù)載均衡的應(yīng)用場(chǎng)景由于HAProxy七層負(fù)載是在應(yīng)用層,那么只能與Tomcat、PHP等Web服務(wù)器做負(fù)載均衡。HAProxy七層負(fù)載支持虛擬主機(jī)功能,即可以通過請(qǐng)求域名對(duì)后端服務(wù)器就行訪問。HAProxy七層負(fù)載可以根據(jù)URL進(jìn)行請(qǐng)求轉(zhuǎn)發(fā)。HAProxy七層負(fù)載可以根據(jù)瀏覽器類型進(jìn)行請(qǐng)求轉(zhuǎn)發(fā)。(三)負(fù)載均衡的性能對(duì)比負(fù)載均衡的選用與企業(yè)規(guī)模息息相關(guān),大型網(wǎng)站或并發(fā)大的業(yè)務(wù),優(yōu)先考慮LVS;中小型的Web業(yè)務(wù),優(yōu)先選用Nginx和HAProxy;云端上的業(yè)務(wù)可考慮選用SLB負(fù)載均衡。不同負(fù)載均衡支持的并發(fā)級(jí)別:負(fù)載均衡類型支持并發(fā)數(shù)Tomcat1KApache3K~5KIIS0.5W~1W七層(Nginx、HAProxy、SLB)2W~5W四層(Nginx、HAProxy)10W~50WLVS-NAT模式50W~100WLVS-DR模式100W~400W硬件負(fù)載均衡(F5、Netscaler)400W~800W三、知識(shí)鞏固(1)回顧上課前的學(xué)習(xí)目標(biāo),對(duì)本節(jié)課知識(shí)點(diǎn)進(jìn)行總結(jié)。(2)使用第7章課后作業(yè)。第二學(xué)時(shí)(HAProxy配置文件解析)一、回顧上節(jié)課內(nèi)容(1)對(duì)上節(jié)課布置的作業(yè)以及學(xué)生提出的問題進(jìn)行答疑解惑。(2)回顧上節(jié)課內(nèi)容,引出本節(jié)課主題。(3)明確學(xué)習(xí)方向。理解HAProxy配置文件解析。二、知識(shí)講解HAProxy的默認(rèn)基本配置包含4個(gè)部分,分別為global、defaults、frontend和backend,并且每個(gè)部分的配置指令需要縮進(jìn)。(一)global該部分位于配置文件的頂部,表示全局配置,用于設(shè)定全局配置參數(shù),一般與操作系統(tǒng)配置、進(jìn)程管理、安全相關(guān),屬于進(jìn)程級(jí)的配置。global部分默認(rèn)的配置代碼如下所示。globalloglocal2chroot/var/lib/haproxypidfile/var/run/haproxy.pidmaxconn4000userhaproxygrouphaproxydaemon(二)defaults該部分表示默認(rèn)配置,用于為后續(xù)的配置部分設(shè)置公用的默認(rèn)值。換句話說,此處的參數(shù)值,將會(huì)自動(dòng)引用到后續(xù)的frontent、backend以及l(fā)isten部分中。defaults部分默認(rèn)的配置代碼如下所示。defaultsmodehttplogglobaloptionhttplogoptiondontlognulloptionhttp-server-closeoptionforwardforexcept/8optionredispatchretries3timeouthttp-request10stimeoutqueue1mtimeoutconnect10stimeoutclient1mtimeoutserver1mtimeouthttp-keep-alive10stimeoutcheck10smaxconn3000(三)frontend1.定義及用法該部分表示前端部分,用于設(shè)置客戶端可以連接的IP地址和端口。frontend部分可以依據(jù)ACL規(guī)則指定后端backend。frontend部分默認(rèn)的配置代碼如下所示。frontendmain*:5000aclurl_staticpath_beg-i/static/images/javascript/stylesheetsaclurl_staticpath_end-i.jpg.gif.png.css.jsuse_backendstaticifurl_staticdefault_backendapp2.ACL規(guī)則ACL規(guī)則常在frontend部分中被使用,幫助HAProxy實(shí)現(xiàn)了兩種主要的功能,如下所示。①通過使用ACL規(guī)則可檢查客戶端的請(qǐng)求是否合法,若符合ACL規(guī)則,則放行,否則直接中斷請(qǐng)求。②符合ACL規(guī)則的請(qǐng)求將被轉(zhuǎn)發(fā)至后端真實(shí)服務(wù)器,實(shí)現(xiàn)基于ACL規(guī)則的負(fù)載均衡。ACL規(guī)則的使用格式如下所示。acl自定義的ACL名稱acl方法-i[匹配的路徑或文件](四)backend該部分表示后端部分,用于配置后端真實(shí)服務(wù)器集群,以響應(yīng)前端用戶請(qǐng)求。一個(gè)backend部分可添加一個(gè)或多個(gè)真實(shí)服務(wù)器。backend部分默認(rèn)的配置代碼如下所示。backendstaticbalanceroundrobinserverstatic:4331checkbackendappbalanceroundrobinserverapp1:5001checkserverapp2:5002checkserverapp3:5003checkserverapp4:5004check(五)listen除此之外,還有一個(gè)配置部分—listen部分,表示監(jiān)聽部分,結(jié)合了前端和后端功能。在目前的HAProxy中,兩種方式任選其一即可。listen部分的配置代碼如下所示。listenstatusbind:1080modehttplogglobalstatsrefresh30sstatsuri/admin?statsstatsrealmPrivatelandsstatsauthadmin:passwordstatshide-version三、知識(shí)鞏固(1)回顧上課前的學(xué)習(xí)目標(biāo),對(duì)本節(jié)課知識(shí)點(diǎn)進(jìn)行總結(jié)。(2)使用第7章課后作業(yè)。第三學(xué)時(shí)(HAProxy七層負(fù)載集群實(shí)戰(zhàn)案例、HAProxy日志配置策略)一、回顧上節(jié)課內(nèi)容(1)對(duì)上節(jié)課布置的作業(yè)以及學(xué)生提出的問題進(jìn)行答疑解惑。(2)回顧上節(jié)課內(nèi)容,引出本節(jié)課主題。(3)明確學(xué)習(xí)方向。掌握部署HAProxy七層負(fù)載集群。掌握并理解HAProxy日志配置策略二、知識(shí)講解(一)環(huán)境準(zhǔn)備準(zhǔn)備3臺(tái)VM虛擬機(jī)(或者物理服務(wù)器),1臺(tái)作為HAProxy負(fù)載均衡器(haproxy),2臺(tái)作為Web集群。服務(wù)器角色I(xiàn)P地址服務(wù)配置haproxy32HAproxy1核1Gweb130Apache1核1Gweb231Apache1核1Gclient40無1核1G(二)拓?fù)浣Y(jié)構(gòu)本節(jié)HAProxy負(fù)載均衡實(shí)驗(yàn)拓?fù)浣Y(jié)構(gòu)。若以真機(jī)作為客戶端,模擬對(duì)網(wǎng)站進(jìn)行訪問。真機(jī)發(fā)出的請(qǐng)求首先會(huì)經(jīng)過HAproxy進(jìn)行判斷,判斷之后再確定將其移交給web1處理還是web2處理。(三)搭建部署1.部署web集群分別為提供網(wǎng)站服務(wù)的服務(wù)器web1及web2創(chuàng)建測(cè)試頁面,以便后續(xù)觀察HAProxy的調(diào)度結(jié)果。//web1[root@web1~]#yum-yinstallhttpd[root@web1~]#systemctlstarthttpd[root@web1~]#systemctlenablehttpd[root@web1~]#echoweb1>/var/www/html/index.html//web2[root@web2~]#yum-yinstallhttpd[root@web2~]#systemctlstarthttpd[root@web2~]#systemctlenablehttpd[root@web2~]#echoweb2>/var/www/html/index.html2.部署HAProxy負(fù)載均衡首先在服務(wù)器上安裝EPEL源。使用Yum的方式獲取HAProxy。[root@haproxy~]#yum-yinstallhaproxy安裝HAProxy后,編輯其配置文件/etc/haproxy/haproxy.cfg,修改部分參數(shù)。修改完成后,配置文件的主要內(nèi)容:global#全局配置 loglocal3info#日志配置 maxconn4096#最大連接限制(優(yōu)先級(jí)低)uidnobodygidnobody daemon nbproc1 #處理HAProxy進(jìn)程的數(shù)量defaults log global mode http maxconn2048 retries 3 option redispatch stats uri/haproxy #設(shè)計(jì)統(tǒng)計(jì)頁面的URI為/haproxy statsauthqianfeng:123 #設(shè)置統(tǒng)計(jì)頁面認(rèn)證的用戶與密碼# statshide-version #隱藏統(tǒng)計(jì)頁面上的HAProxy版本信息 contimeout 5000 #重傳計(jì)時(shí)器 clitimeout 50000 #向后長(zhǎng)連接 srvtimeout 50000 #向前長(zhǎng)連接frontendhttp-in bind:80 modehttp #定義為HTTP模式 logglobal #繼承g(shù)lobal中l(wèi)og的定義 optionhttplog #啟用日志記錄HTTP請(qǐng)求 optionhttpclose #每次請(qǐng)求完畢后主動(dòng)關(guān)閉http通道,HAproxy不支持keep-alive模式aclhtmlurl_reg-i\.html$use_backendhtml-serverifhtmldefault_backendhtml-serverbackendhtml-server modehttp balanceroundrobin optionhttpchkGET/index.html cookieSERVERIDinsertindirectnocache serverhtml-Aweb1:80weight1cookie3checkinter2000rise2fall5 serverhtml-Bweb2:80weight1cookie4checkinter2000rise2fall5配置完成后啟動(dòng)HAProxy。[root@haproxy~]#systemctlstarthaproxy3.客戶端測(cè)試在之前準(zhǔn)備用作客戶端的服務(wù)器上安裝網(wǎng)頁測(cè)試工具Elinks,再進(jìn)行訪問。[root@qfedu~]#yum-yinstallelinks[root@qfedu~]#elinks--dump32web1[root@qfedu~]#elinks--dump32web2[root@qfedu~]#elinks--dump32web1[root@qfedu~]#elinks--dump32web2使用Windows瀏覽器進(jìn)行訪問。刷新頁面只能看到同一個(gè)頁面,這是因?yàn)閃indows瀏覽器自帶緩存功能。4.HAProxy監(jiān)控平臺(tái)至此,HAProxy已經(jīng)實(shí)現(xiàn)了服務(wù)的故障轉(zhuǎn)移功能,但HAProxy的功能并不止于此。HAProxy擁有一個(gè)基于Web的監(jiān)控平臺(tái),這一點(diǎn)對(duì)于及時(shí)性要求很高的業(yè)務(wù)來說非常便利,當(dāng)服務(wù)中斷或者主機(jī)故障后,可及時(shí)告知運(yùn)維人員。在客戶端瀏覽器中輸入http://haproxy服務(wù)器地址/haproxy即可觀察到HAproxy的當(dāng)前狀態(tài),Web監(jiān)控頁面如圖。HAProxy的Web監(jiān)控頁面通過不同顏色顯示故障信息,通過表格展示每項(xiàng)資源的監(jiān)控參數(shù),并且可以劃分為8個(gè)類別:(1)QueueCur:代表當(dāng)前隊(duì)列的請(qǐng)求數(shù)量。Max:代表當(dāng)前隊(duì)列最大的請(qǐng)求數(shù)量。Limit:代表隊(duì)列的限制數(shù)量。(2)SessionrateCur:代表每秒會(huì)話連接數(shù)量。Max:代表每秒會(huì)話量最大值。Limit:代表每秒會(huì)話量的限制值。(3)SessionsTotal:代表全部會(huì)話數(shù)量。Curl:代表當(dāng)前的會(huì)話數(shù)量。Max:代表最大會(huì)話數(shù)量。Limit:代表會(huì)話連接限制。LbTot:代表選中一臺(tái)服務(wù)器所用的總時(shí)間。Last:代表最后一次會(huì)話時(shí)間。(4)BytesIn:代表網(wǎng)絡(luò)會(huì)話輸入字節(jié)數(shù)總量。Out:代表網(wǎng)絡(luò)會(huì)話輸出字節(jié)數(shù)總量。(5)DeniedReq:代表被拒絕的會(huì)話請(qǐng)求數(shù)量。Resp:代表拒絕回應(yīng)的請(qǐng)求數(shù)量。(6)ErrorsReq:代表錯(cuò)誤的請(qǐng)求數(shù)量。Conn:代表錯(cuò)誤連接數(shù)量。Resp:代表錯(cuò)誤響應(yīng)數(shù)量。(7)WarningsRetr:代表重新嘗試連接的請(qǐng)求數(shù)量。Redis:代表重新發(fā)送的請(qǐng)求數(shù)量。(8)Serverstatus:代表后端服務(wù)器狀態(tài),存在有UP和DOWN兩種狀態(tài)。LastChk:代表持續(xù)檢查后端服務(wù)器的時(shí)間。Wght:代表服務(wù)器權(quán)重。Act:代表活動(dòng)后端服務(wù)器數(shù)量。Bck:代表后端備份服務(wù)器的數(shù)量。Down:代表狀態(tài)為Down的后端服務(wù)器數(shù)量。Downtime:代表服務(wù)器總的Downtime時(shí)間。Throttle:代表狀態(tài)Backup變?yōu)锳ctive的服務(wù)器數(shù)量。(四)HAProxy日志配置策略HAProxy服務(wù)默認(rèn)情況下是沒有配置日志的,本書使用的是CentOS7系統(tǒng),其默認(rèn)的日志管理工具是rsyslog。rsyslog能夠?qū)崿F(xiàn)UDP日志的接收,日志寫入文件,以及日志寫入數(shù)據(jù)庫(kù)等功能。接下來將講解HAProxy日志的配置策略。查看系統(tǒng)中是否已經(jīng)安裝rsyslog軟件包。[root@haproxy~]#rpm-qarsyslogrsyslog-8.24.0-34.el7.x86_64修改rsyslog的配置文件。[root@haproxy~]#vim/etc/rsyslog.conf#ProvidesUDPsyslogreception$ModLoadimudp$UDPServerRun514local2.*/var/log/haproxy.log修改/etc/sysconfig/rsyslog文件。[root@haproxy~]#vim/etc/sysconfig/rsyslog#Optionsforrsyslogd#Syslogdoptionsaredeprecatedsincersyslogv3.#Ifyouwanttousethem,switchtocompatibilitymode2by"-c2"#Seersyslogd(8)formoredetailsSYSLOGD_OPTIONS="-c4-r-m0"默認(rèn)情況下,rsyslog服務(wù)是開機(jī)自啟的,修改完配置文件需要重新啟動(dòng)rsyslog。[root@haproxy~]#systemctlrestartrsyslog若要實(shí)現(xiàn)將HAProxy的日志寫入相應(yīng)的日志文件中,還需要在HAProxy的配置文件中進(jìn)行對(duì)應(yīng)的說明,比如7.3節(jié)案例中HAProxy的配置文件。global loglocal2info#配置日志記錄 maxconn4096uidnobodygidnobody daemon nbproc1 defaults log global #配置日志記錄 mode http maxconn2048 retries 3 option redispatch stats uri/haproxy statsauthqianfeng:123 contimeout 5000 clitimeout 50000 srvtimeout 50000 frontendhttp-in bind:80 modehttp logglobal #配置日志記錄 optionhttplog optionhttpclose aclhtmlurl_reg-i\.html$use_backendhtml-serverifhtmldefault_backendhtml-serverbackendhtml-server modehttp balanceroundrobin optionhttpchkGET/index.html cookieSERVERIDinsertindirectnocache serverhtml-Aweb1:80weight1cookie3checkinter2000rise2fall5 serverhtml-Bweb2:80weight1cookie4checkinter2000r
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 河南省安陽市第二十中學(xué)2022年高三地理下學(xué)期期末試題含解析
- 2025建筑裝修裝飾工程施工合同
- 橋梁場(chǎng)地磚施工合同
- 能源管理精細(xì)化管理技巧
- 咨詢公司客戶資料保密政策
- 教育培訓(xùn)機(jī)構(gòu)兼職教師聘用合同
- 陵園綠化項(xiàng)目廢標(biāo)條件研究
- 招投標(biāo)主體法律問題研究
- 藝人經(jīng)紀(jì)承銷協(xié)議書范本
- 商業(yè)秘密保護(hù)實(shí)施細(xì)則
- 2022年西藏自治區(qū)中考英語真題卷(含答案與解析)
- 醫(yī)院輸血質(zhì)量管理考核標(biāo)準(zhǔn)
- 七年級(jí)語文上冊(cè):15、《古代詩歌四首》教案
- 氣道評(píng)估與處理課件
- 腦血管病的介入診療課件
- RCS-9626CN電動(dòng)機(jī)保護(hù)測(cè)控裝置
- 苗木供貨服務(wù)計(jì)劃方案
- 回轉(zhuǎn)支承實(shí)驗(yàn)臺(tái)測(cè)試系統(tǒng)設(shè)計(jì)畢業(yè)設(shè)計(jì)論文
- 全員安全生產(chǎn)責(zé)任考核表
- 董事長(zhǎng)調(diào)研方案
- 危險(xiǎn)化學(xué)品MSDS(次氯酸鈉溶液)
評(píng)論
0/150
提交評(píng)論