




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
延時文字第九章常用集群配置Linux基礎與服務管理主要內容
目錄9.19.29.3LVS高性能負載均衡器HAProxy高可用軟件Keepalived9.2高性能負載均衡器HAProxy9.19.29.39.4HAProxy簡介HAProxy安裝及配置HAProxy訪問控制列表HAProxy配置實例9.5使用web監(jiān)控平臺HAProxy簡介HAProxy是一個可靠的、高性能的負載均衡軟件,也是一種免費、快速且可靠的解決方案,可為基于TCP(第四層)和HTTP(第七層)的應用程序提供高可用、負載均衡的代理,特別適合用于流量非常高的網站。HAProxy的操作模式使得其在與現(xiàn)有的體系結構集成時非常容易且無風險,同時也提供了不暴露web服務器的可用性。HAProxy工作于OSI七層參考模型的第四層和第七層。9.2HAProxy簡介
HAPoXxy是一個單線程、事件驅動的非阻塞引擎,同時結合了一個快速的vo層與基于優(yōu)先級的調度程序。HAProxy支持單進程與多進程,但在運行多進程時,會有一些限制。同時單個進程可以運行多個實例,而且在單個進程中,可以配置300000個不同的代理并保持良好的運行。因此,通常不需要為所有實例啟動多個進程。HAProxy以盡可能快、盡可能少的移動數(shù)據(jù)操作為設計原則。因此,它實現(xiàn)了一個分層模型并為每個級別提供bypass機制,確保在非必要的情況下,數(shù)據(jù)不會傳到更高的級別。大多數(shù)處并為每個級別提供bypass機制,確保在非必要的情況下,數(shù)據(jù)不會傳到更高的級別。大多數(shù)處理都是在內核中執(zhí)行的,HAProxy盡最大努力通過提供一些提示或者猜測,可以通過在以后分組時避免某些操作來盡可能快地幫助內核完成工作。當HAProxy工作在TCP或HTTP的close模式下時,其消耗的處理時間占15%,內存占85%;當HAProxy工作在TCP或HTTP的keep--alive模式下時,其消耗的處理時間占30%,內存占70%。HAProxy只需要haproxy可執(zhí)行程序和配置文件即可運行。對于日志記錄,建議使用正確配置的syslog守護程序并記錄日志輪換。配置文件會在啟動之前被解析,然后HAProxy會嘗試它停止工作,這意味著HAProxy沒有運行時故障。它停止工作,這意味著HAProxy沒有運行時故障。9.2HAProxy的工作層及其區(qū)別四層負載均衡器是通過分析IP層及TCP/IP層的流量實現(xiàn)基于“IP+端口”的負載均衡,主要通過報文的目的地址和端口配合負載均衡算法選擇后端真實服務器,確定是否需要對報文進行修改并將數(shù)據(jù)轉發(fā)至選出的后端真實服務器。第四層第七層七層負載均衡器是基于應用層信息(如URL、Cookies等)的負載均衡。主要依據(jù)報文的內容配合負載均衡算法選擇后端真實服務器,然后再分發(fā)請求到真實服務器進行處理,也稱“內容交換器”??蛻舳伺c負載均衡器、負載均衡器與后端真實服務器之間會分別建立TCP連接。9.2Nginx、LVS、Haproxy對比Nginx優(yōu)點:1、Nginx的高并發(fā),同時能承載上萬個并發(fā)連接;2、nginx有充足的第三方功能模塊的支持,主要通過upstream模塊進行負載均衡;3、nginx對網絡的依賴較小,理論上只要Ping得通,網頁訪問正常,nginx就能連得通;4、工作在網絡的7層之上,可以針對http應用做一些分流的策略,它的正則規(guī)則比haproxy更為強大和靈活,這也是它目前廣泛流行的主要原因之一,nginx單憑這點可利用的場合就遠多于lvs了。缺點:1、將Nginx當做反向代理時,負載均衡功能不是很好,對后端服務器的健康檢查功能較弱;2、nginx僅能支持http、https和email協(xié)議,這樣就在適用范圍上面小些,這個是它的缺點;3、nginx只支持通過端口來檢測,不支持通過url來檢測。LVSHaproxy優(yōu)點:1、抗負載能力強、工作在第4層僅作分發(fā)之用,沒有流量的產生,這個特點也決定了它在負載均衡軟件里的性能最強的;無流量,同時保證了均衡器IO的性能不會受到大流量的影響;2、工作穩(wěn)定,自身有完整的雙機熱備方案,如LVS+Keepalived和LVS+Heartbeat;3、應用范圍比較廣,可以對所有應用做負載均衡;4、配置性比較低,這是一個缺點也是一個優(yōu)點,因為沒有可太多配置的東西,所以并不需要太多接觸,大大減少了人為出錯的幾率;缺點:1、軟件本身不支持正則處理,不能做動靜分離,這就凸顯了Nginx/HAProxy+Keepalived的優(yōu)勢。
2、如果網站應用比較龐大,LVS/DR+Keepalived就比較復雜了,特別是后面有WindowsServer應用的機器,實施及配置還有維護過程就比較麻煩。優(yōu)點:1、HAProxy是支持虛擬主機的,可以工作在4、7層。
2、能夠補充Nginx的一些缺點比如Session的保持,Cookie的引導等工作;3、支持url檢測后端的服務器;4、它跟LVS一樣,本身僅僅就只是一款負載均衡軟件;單純從效率上來講HAProxy更會比Nginx有更出色的負載均衡速度,在并發(fā)處理上也是優(yōu)于Nginx的;5、HAProxy可以對Mysql讀進行負載均衡,對后端的MySQL節(jié)點進行檢測和負載均衡,不過在后端的MySQLslaves數(shù)量超過10臺時性能不如LVS;6、HAProxy的算法較多缺點:1.擴展性差:添加新功能很費勁,對不斷擴展的新業(yè)務,haproxy很難應對;2.在四層代理時,僅支持tcp協(xié)議的代理;HAProxy安裝及其配置文件HAProxy的安裝比較簡單,可以直接使用yum源直接進行安裝,要是需要使用最新版本則可以在官網上面下載最新的版本編譯安裝。9.2HAProxy安裝過程123安裝過程使用yum安裝HAProxy了解HAProxy的配置文件的相關參數(shù)對HAProxy的配置文件進行修改配置HAProxy可以直接使用yum安裝。安裝完成后可以對其相關的配置文件進行修改。9.2HAProxy安裝使用yum安裝如下:安裝完成后可以看到haproxy的主配置文件在etc下的haproxy里??梢圆榭蠢锩娴膮?shù)。9.2HAProxy配置文件1.Global部分2.Defaults部分3.Frontend部分4.Backend部分5.Listen部分Global部分參數(shù)是進程級的,通常是和操作系統(tǒng)相關。這些參數(shù)一般只設置一次,如果配置無誤,就不需要再次進行修改Defaults部分配置的參數(shù)屬于公共配置,會被frontend、backend、listen部分自動引用。若在frontend、backend、listen部分存在相同的參數(shù),則會被新的參數(shù)自動覆蓋。HAProxy配置文件Frontend部分主要用于處理請求的虛擬節(jié)點,F(xiàn)rontend可以將匹配到本地區(qū)域的請求交給下邊的backend??筛鶕?jù)ACL規(guī)則直接指定需要使用的后端服務器Backend部分主要用于配置后端服務器集群,即一組后端的真實服務器,用來處理前端傳來的請求,同樣支持ACL規(guī)則,與LVS的真實服務器類似。Listen部分是fontend與backend部分的集合體,在目前版本的配置文件中,默認已將其移除,但是仍然可以使用,如開啟HAPOXY自帶的Web監(jiān)控平臺。9.2HAProxy配置文件參數(shù)lglobal#全局參數(shù)global模塊的設置loglocal2#log語法:log<address_1>[max_level_1]#全局的日志配置,使用log關鍵字,指定使用上的syslog服務中的local0日志設備,記錄日志等級為info的日志chroot/var/lib/haproxy#工作目錄pidfile/var/run/haproxy.pid#進程pid文件maxconn4000#最大連接數(shù)userhaproxy#所屬用戶grouphaproxy#所屬用戶組daemon#以守護進程方式運行haproxystatssocket/var/lib/haproxy/stats#定義socket套接字,針對在線維護很有幫助globaldefaultsdefaults#defaults模塊的設置
modehttp#默認的模式{tcp|http|health},health只會返回OKlogglobal#應用全局的日志配置
optionhttplog#啟用日志記錄HTTP請求,默認不記錄HTTP請求日志
optiondontlognull#不記錄健康檢查的日志信息
optionhttp-server-close#每次請求完畢后主動關閉http通道
optionforwardforexcept/8#啟用X-Forwarded-For,將客戶端的真實IP寫入其中。
optionredispatch#在連接失敗的情況下啟用或禁用會話重新分發(fā),默認值是1retries3#定義連接后端服務器的失敗重連次數(shù),連接失敗次數(shù)超過此值后將會將對應后端服務器標記為不可用
timeouthttp-request10s#http請求超時時間
timeoutqueue1m#一個請求在隊列里的超時時間
timeoutconnect10s#連接超時
timeoutclient1m#客戶端超時
timeoutserver1m#服務器端超時
timeouthttp-keep-alive10s#設置http-keep-alive的超時時間
timeoutcheck10s#檢測超時
maxconn3000#每個進程可用的最大連接數(shù)9.2HAProxy配置文件參數(shù)frontendmain*:80#frontend模塊的設置,定義了一個前端
aclurl_staticpath_beg-i/static/images/javascript/stylesheetsaclurl_staticpath_end-i.jpg.gif.png.css.js#這里定義了一個acl規(guī)則
use_backendstaticifurl_static#如果匹配到了acl,則訪問后端的static模塊default_backendmy_webserver#如果沒有匹配到acl,則將請求丟給默認的模塊frontendbackendbackendstatic#定義第一個后端模塊,staticbalanceroundrobin#負載均衡算法為輪詢serverstatic:80check#后端服務器地址backendmy_webserver#定第二個后端,my_wenserverbalanceroundrobin#負載均衡算法
serverweb013:80checkinter2000fall3weight30#定義的多個后端
serverweb024:80checkinter2000fall3weight30#定義的多個后端
serverweb035:80checkinter2000fall3weight30#定義的多個后端listenlistenstats#定義一個listen模塊,用于狀態(tài)檢測modehttp#模式采用httpbind:8888#綁定本機的地址及端口statsenable#啟用狀態(tài)檢測功能statsuri/haproxy-status#狀態(tài)檢測的URIstatsauthhaproxy:123456#訪問檢測界面的用戶名和密碼HAProxy訪問控制列表HAProxy能夠從請求、響應流、客戶端或服務器信息、表、環(huán)境信息等提取數(shù)據(jù),提取此類數(shù)據(jù)的操作被稱為獲取樣本。檢索時,這些樣本可以用于實現(xiàn)各種目的,最常見的是將它們與預定義的稱為模式的數(shù)據(jù)進行對比。9.2HAProxy訪問控制列表●從數(shù)據(jù)流、表或環(huán)境中提取數(shù)據(jù)樣本;●對提取的樣本可選的應用格式進行轉換;●將一種或多種模式匹配應用到樣本;●當模式與樣本匹配時,執(zhí)行操作。HAProxy訪問控制列表原則訪問控制列表(ACL)提供了靈活的解決方案來執(zhí)行內容切換,或者基于從請求、響應、任何環(huán)境狀態(tài)中提取出來的數(shù)據(jù)來做出決策。執(zhí)行的操作通常包括阻塞請求、選擇后端或添加HTTP頭部,使用原則非常簡單。9.2HAProxy訪問控制列表常用選項
ACL可用于frontend、backend或listen部分,但是最常見的是用于frontend部分。其語法如下:acl<aclname><criterion>[flags][operator][<value>]…常用的選項:
AclACL關鍵字,定義ACL規(guī)則;
Aclname
ACL規(guī)則名,嚴格區(qū)分大小寫,只能使用大寫字母、小寫字母、數(shù)字、-(中線)、(下劃線)(點號)和:(冒號);
Criterion
獲取樣本方法的名稱,常見的有hdrbeg(host)、hdr.dom(host)、hdr(host)、path.beg、pathend、url、ur_sub、ur_dir.ur_beg、urlend、urllen等。
Flags
參數(shù),如:-filename等。
Operator
操作符,并不是所有的criterion都支持此操作符。
Value
通常指匹配的路徑或文件等,若存在多個,則使用空格分隔。
HAProxy配置實例本節(jié)將演示如何配置HAProxy。在操作之前,請確保所有服務器均設置好路由轉發(fā)功能且處于同一局域網內,同時服務器已完成了一些常用的初始化設置,如設置主機名、關閉SELinux,后續(xù)不再進行說明。HAProxy的搭建主要分為兩部分:后端的真實服務器(RealServer)搭建和前端的負載調度器(LoadBalancer)搭建。
此外,HAProxy還自帶一個基于Web的監(jiān)控平臺,可以查看集群中所有后端服務器的運行狀態(tài)、配置分組等信息,也可以對后端的節(jié)點進行部分管理操作,在升級節(jié)點、故障維護時非常有用。右邊為簡單的原理圖。9.2HAProxy配置實例RealServerLoadBalancer9.2HAProxy配置實例IP地址:39作用:負載調度器Haproxy前端負載均衡調都器IP地址:41作用:提供后端服務Webserver2后端真實服務器IP地址:40作用:提供后端服務Webserver1后端真實服務器對防火墻進行配置,使其允許80端口持續(xù)對外提供服務,命令如下:9.2Webserver1配置
1、在webserver1上安裝web服務。
2、在webserver1上編寫一個簡單的html頁面。操作如下:
3、最后wq保存退出。
4、重啟服務,使其生效。9.2Webserver1配置
5、在瀏覽器里可以查看一下效果。如下:9.2Webserver2配置
1、與webserver1一樣,先安裝web服務。
2、在webserver2上也編寫一個簡單的html頁面。
3、同樣wq保存退出。
4、重啟服務,使其生效。9.2Webserver2配置
5、在瀏覽器里可以查看一下效果。如下:9.2HAProxy配置1、在負載均衡器上安裝haproxy服務。2、安裝完成后對其配置文件進行修改。9.2HAProxy配置3、跳轉到frontend與backend部分,將內容修改為以下內容:frontendwebbind*:80#監(jiān)聽80端口default_backendwebsrvs#調用后端web服務器組backendwebsrvs#定義后端web服務器組balanceroundrobin#輪詢模式serverweb140:80check#check表示檢測監(jiān)控狀態(tài)serverweb241:80check#
main
frontend
which
proxys
to
the
backends這行后面多余的部分全部用#注釋掉4、修改完成后重啟服務,使其生效。9.2HAProxy配置5、在瀏覽器里訪問39,看下效果。效果如下:因為這里使用的輪詢模式,所以負載均衡器會從兩個服務器上輪詢調度服務使用web監(jiān)控平臺HAProxy自帶的Web監(jiān)控平臺在升級節(jié)點、更新維護時非常有用。開啟HAProxy自帶的web監(jiān)控平臺需要在負載均衡器上進行相關的配置。9.2使用web監(jiān)控平臺1、修改配置文件/etc/haprox/haproy.cig,在文件末尾添加以下內容。listenadmin_statsbind*:8080#監(jiān)聽8080端口,不能與之前的端口沖突
statsenable#狀態(tài)監(jiān)控頁面功能啟動
statsrefresh30s#統(tǒng)計頁面自動刷新時間
statsuri/admin#指定url路徑
statsrealmhaproxy#定義提示頁面
statsauthadmin:123456#登錄賬號和密碼
statshide-version#隱藏系統(tǒng)頁面上haproxy的版本信息
statsadminifTRUE#允許管理員控制相關代理
2、重啟服務,使其生效。
3、配置永久生效的防火墻規(guī)則,允許haproxy通過8080端口持續(xù)對外提供服務,命令如下:3、完成后即可通過瀏覽器使用http://39:8080/admin登錄監(jiān)控平臺查看。登錄成功后,效果如下:9.2使用web監(jiān)控平臺9.2web監(jiān)控平臺參數(shù)簡介QueueCur:currentqueuedrequests//當前的隊列請求數(shù)量Max:maxqueuedrequests
//最大的隊列請求數(shù)量Limit:
//隊列限制數(shù)量Sessionrate(每秒的連接回話)列表:scur:currentsessions
//每秒的當前回話的限制數(shù)量smax:maxsessions
//每秒的新的最大的回話量slim:sessionslimit
//每秒的新回話的限制數(shù)量Sessions
Total:
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2030年中國帶閥氧氣瓶數(shù)據(jù)監(jiān)測研究報告
- 2025至2030年中國室內覆蓋用電橋數(shù)據(jù)監(jiān)測研究報告
- 2025至2030年中國多媒體會議電視系統(tǒng)數(shù)據(jù)監(jiān)測研究報告
- 2025至2030年中國四驅專用合成混合齒輪油數(shù)據(jù)監(jiān)測研究報告
- 利用區(qū)塾鏈技術創(chuàng)新辦公協(xié)作方式研究
- 2024年種子繁育員考試中的岔路與方向試題及答案
- AI輔助診斷中的醫(yī)療信息安全保障
- 從銀行業(yè)看區(qū)塊鏈和智能合約的辦公模式革新
- 回收橡膠出售地毯合同協(xié)議
- 大門供貨合同協(xié)議
- 2025至2030年尼龍再生料項目投資價值分析報告
- 畢業(yè)設計(論文)-基于SolidWorks的廚余垃圾處理器設計
- 股份制公司運營方案
- 電氣自動化設備安裝與維修專業(yè)調研報告
- 北師大版小學數(shù)學家長會發(fā)言稿范文
- 基于改進YOLOv8的電梯內電動車檢測算法研究
- 2025年全球及中國玻璃通孔(TGV)工藝的激光設備行業(yè)頭部企業(yè)市場占有率及排名調研報告
- 2008年高考數(shù)學試卷(文)(全國卷Ⅱ)(解析卷)
- 2024年中國儲能產業(yè)研究報告
- GMP取樣管理課件
- 安徽省普通高中2024學年學業(yè)水平合格性測試英語試題(原卷版)
評論
0/150
提交評論