目錄
一.集群的定義
1.定義
2.分類(lèi)
(1)負(fù)載均衡集群(LBC/LB)
(2)高可用集群(HAC)
二.使用集群的意義
1.高性?xún)r(jià)比和性能比
2.高可用性
3.可伸縮性強(qiáng)
4.持久和透明性高
三.常見(jiàn)的兩種集群模式拓?fù)?/p>
1.LVS(-DR)集群模式
(1)工作架構(gòu)
(2)LVS下的相關(guān)術(shù)語(yǔ)
(3)LVS的工作模式
(4) LVS調(diào)度器算法
?2.haproxy/nginx模式
?四.常用集群軟硬件列舉
1.企業(yè)常用集群軟件
2.企業(yè)常用集群硬件
一.集群的定義
1.定義
是一組協(xié)同工作的服務(wù)器,在外部訪問(wèn)者看來(lái)是一個(gè)整體。集群是一種并行或分布式系統(tǒng),包括一個(gè)互連的整體計(jì)算機(jī)集合作為一種單一、同意的計(jì)算資源使用,使用集群管理服務(wù),可以獲得更高的性能、可靠性和靈活性,實(shí)現(xiàn)資源的高度可用。集群又可以分為負(fù)載均衡集群、高可用性集群、高性能計(jì)算機(jī)群、網(wǎng)絡(luò)計(jì)算等類(lèi)別。
2.分類(lèi)
(1)負(fù)載均衡集群(LBC/LB)
也可以稱(chēng)服務(wù)器群,一般通過(guò)一個(gè)或多個(gè)前端負(fù)載均衡器將數(shù)據(jù)請(qǐng)求轉(zhuǎn)發(fā)到后端部分服務(wù)器上,使客戶(hù)訪問(wèn)請(qǐng)求壓力在各服務(wù)器之間盡可能分?jǐn)偅ǔ绦蛱幚碡?fù)載和網(wǎng)絡(luò)流量負(fù)載,也可以實(shí)現(xiàn)訪問(wèn)請(qǐng)求在各節(jié)點(diǎn)間動(dòng)態(tài)分配,靈活負(fù)載。
(2)高可用集群(HAC)
高可用集群下的服務(wù)器運(yùn)行速度和響應(yīng)速度較快,一般是已配置好的集群服務(wù)中有任意節(jié)點(diǎn)失效時(shí),將其分配到的壓力自動(dòng)轉(zhuǎn)移到其他正常節(jié)點(diǎn)上,一般情況下這個(gè)節(jié)點(diǎn)的失效不會(huì)影響整個(gè)集群的運(yùn)行,如果主節(jié)點(diǎn)失效,次節(jié)點(diǎn)完全可以接替其身份和資源進(jìn)一步正常處理主節(jié)點(diǎn)下的任務(wù)。
二.使用集群的意義
1.高性?xún)r(jià)比和性能比
以pc服務(wù)器或RISC服務(wù)器組成集群可以大規(guī)模降低部署成本,分開(kāi)管理,在性能上也有很大的優(yōu)勢(shì)
2.高可用性
在硬件和軟件上都有冗余,可以進(jìn)一步檢測(cè)到軟硬件的故障,進(jìn)而解決或屏蔽故障有正常運(yùn)轉(zhuǎn)的節(jié)點(diǎn)繼續(xù)提供服務(wù)
3.可伸縮性強(qiáng)
集群系統(tǒng)的節(jié)點(diǎn)數(shù)可以到幾千甚至幾萬(wàn)個(gè),在其上甚至可以簡(jiǎn)易地去開(kāi)發(fā)應(yīng)用程序
4.持久和透明性高
服務(wù)器對(duì)于客戶(hù)端來(lái)說(shuō),部分服務(wù)器的加入和退出不會(huì)中斷對(duì)用戶(hù)的服務(wù),對(duì)用戶(hù)來(lái)說(shuō)相對(duì)透明
三.常見(jiàn)的兩種集群模式拓?fù)?/h2>
1.LVS(-DR)集群模式
(1)工作架構(gòu)
如圖示,多臺(tái)提供服務(wù)的服務(wù)器(組)和數(shù)據(jù)備份(共享存儲(chǔ))服務(wù)器位于局域網(wǎng)內(nèi),提供服務(wù)的服務(wù)器又連接到廣域網(wǎng),用戶(hù)通過(guò)互聯(lián)網(wǎng)/加速器能夠進(jìn)行訪問(wèn)。LVS模式下用戶(hù)發(fā)出數(shù)據(jù)請(qǐng)求,LVS負(fù)載均衡服務(wù)器組收到后按自身算法1將請(qǐng)求通過(guò)廣域網(wǎng)交給apache/nginx服務(wù)器組,apache/nginx服務(wù)器組處理好后直接將結(jié)果返還給用戶(hù),無(wú)需經(jīng)過(guò)負(fù)載均衡組。
LVS-DR負(fù)載均衡服務(wù)器組所在層又可稱(chēng)為load balancer(包含director server),apache/nginx服務(wù)器群組所在層又可稱(chēng)為server array(包含real server——集群節(jié)點(diǎn)),后方的數(shù)據(jù)共享存儲(chǔ)層可稱(chēng)為shared storage。
load balancer:位于整個(gè)集群系統(tǒng)最前端,由一臺(tái)或多臺(tái)負(fù)載調(diào)度器組成,LVS是安裝在director server上的,其中包含有LVS功能設(shè)定的路由表,通過(guò)路由表把數(shù)據(jù)請(qǐng)求抓發(fā)給server array,還可以在direct server上安裝對(duì)real server的監(jiān)控板塊,檢測(cè)健康狀態(tài)。
server array:由一組真實(shí)的應(yīng)用服務(wù)器組成,每個(gè)real server之間通過(guò)lan或wan相連接,在真實(shí)場(chǎng)景中,director server可以充當(dāng)real server。
shared storage:為所有的real server提供數(shù)據(jù)存儲(chǔ)和空間共享服務(wù),保持內(nèi)容一致性,一般是由磁盤(pán)陣列設(shè)備、nfs文件共享系統(tǒng)、gfs文件系統(tǒng)或ocfs2文件系統(tǒng)等等組成
(2)LVS下的相關(guān)術(shù)語(yǔ)
虛擬IP地址——VIP,director server用來(lái)向客戶(hù)端計(jì)算機(jī)提供服務(wù)的IP地址
真實(shí)IP地址——RIP,在集群節(jié)點(diǎn)上使用的IP地址
director server的IP地址——DIP,director用于連接外網(wǎng)的IP地址
客戶(hù)端主機(jī)IP地址——CIP,客戶(hù)端請(qǐng)求集群服務(wù)器的IP地址,用作發(fā)送給集群的數(shù)據(jù)請(qǐng)求的源IP地址
(3)LVS的工作模式
?LVS的IP負(fù)載均衡通過(guò)IPVS模塊來(lái)實(shí)現(xiàn)的,IPVS是LVS集群系統(tǒng)的核心軟件。主要作用是:安
裝在Director Server上,同時(shí)在Director Server上虛擬出一個(gè)IP地址,客戶(hù)端訪問(wèn)時(shí)也要通過(guò)這個(gè)IP地址。這個(gè)虛擬IP一般稱(chēng)為L(zhǎng)VS的VIP,訪問(wèn)的請(qǐng)求首先經(jīng)過(guò)VIP到達(dá)負(fù)載調(diào)度器,然后由負(fù)載調(diào)度器從Real Server列表中選取一個(gè)服務(wù)節(jié)點(diǎn)響應(yīng)用戶(hù)的請(qǐng)求。當(dāng)用戶(hù)的請(qǐng)求到達(dá)負(fù)載調(diào)度器后,IPVS重點(diǎn)關(guān)注調(diào)度器如何將請(qǐng)求發(fā)送到提供服務(wù)的Real Server節(jié)點(diǎn),Real Server節(jié)點(diǎn)如何返回?cái)?shù)據(jù)給用戶(hù),IPVS實(shí)現(xiàn)負(fù)載均衡機(jī)制有DR、NAT、TUN三種。
VS/NAT:
網(wǎng)絡(luò)地址翻譯技術(shù)實(shí)現(xiàn)虛擬服務(wù)器,當(dāng)用戶(hù)請(qǐng)求到達(dá)調(diào)度器時(shí),調(diào)度器將請(qǐng)求報(bào)文的目標(biāo)地址(虛擬IP地址)改寫(xiě)成選定的Real Server地址,同時(shí)報(bào)文的目標(biāo)端口也改成選定的Real Server的相應(yīng)端口,最后將報(bào)文請(qǐng)求發(fā)送到選定的Real Server。在服務(wù)器端得到數(shù)據(jù)后,Real Server要原路經(jīng)過(guò)負(fù)載調(diào)度器將報(bào)文的源地址和源端口改成虛擬IP地址和相應(yīng)端口,然后把數(shù)據(jù)發(fā)送給用戶(hù)。
VS/DR:
直接路由技術(shù)實(shí)現(xiàn)虛擬服務(wù)器,應(yīng)用最多,要求Director Server與Real Server都有一塊網(wǎng)卡連在同一物理網(wǎng)段上。它的連接調(diào)度和管理與VS/NAT相同,但VS/DR通過(guò)改寫(xiě)請(qǐng)求報(bào)文的MAC地址,將請(qǐng)求發(fā)送到Real Server,而Real Server將響應(yīng)直接返回給客戶(hù),節(jié)省了開(kāi)銷(xiāo),性能最好。
VS/TUN:
IP隧道技術(shù)實(shí)現(xiàn)虛擬服務(wù)器,應(yīng)用較少不要求Director Server與Real Server都有一塊網(wǎng)卡連在同一物理網(wǎng)段上。它的連接調(diào)度和管理與VS/NAT方式相同,但調(diào)度器采用IP隧道技術(shù)將用戶(hù)請(qǐng)求轉(zhuǎn)發(fā)到某個(gè)Real Server,而這個(gè)Real Server將直接響應(yīng)用戶(hù)的請(qǐng)求,不再經(jīng)過(guò)前端調(diào)度器,調(diào)度器只處理用戶(hù)的報(bào)文請(qǐng)求,吞吐量較高。
(4) LVS調(diào)度器算法
調(diào)度器在收到入站請(qǐng)求時(shí)需要立即做出決定將請(qǐng)求分配給哪個(gè)服務(wù)器(節(jié)點(diǎn))
固定調(diào)度:
rr:常用調(diào)度算法之一,輪詢(xún)調(diào)度,在real server中均攤請(qǐng)求,此算法適用于處理性能相差不大的情況。
wrr:常用調(diào)度算法之一,加權(quán)輪循調(diào)度,依據(jù)不同real server的權(quán)重值分配任務(wù),權(quán)值較高的real
server將優(yōu)先分配,分配到的連接數(shù)也比權(quán)值較低的real server多,如果權(quán)值相同那么real serve
得到相同數(shù)目的連接。
dh:目的哈希調(diào)度,以目的地址為關(guān)鍵字查找一個(gè)靜態(tài)hash表來(lái)分配real server。
sh:源地址哈希調(diào)度,以源地址為關(guān)鍵字查找一個(gè)靜態(tài)hash表來(lái)分配real server。
動(dòng)態(tài)調(diào)度:
lc:常用調(diào)度算法之一,最小連接數(shù)調(diào)度,會(huì)把新的連接請(qǐng)求發(fā)送到IPVS表中連接數(shù)最小的real
server。
wlc:常用調(diào)度算法之一,加權(quán)最小連接數(shù)調(diào)度,依次選取“TCP連接數(shù)/權(quán)重值”為最小的real server
作為下一個(gè)分配節(jié)點(diǎn)。
lblc:基于地址的最小連接數(shù)調(diào)度,如果這一臺(tái)設(shè)備仍然可以處理請(qǐng)求就將來(lái)自同一目的地址的請(qǐng)
求分配給同一臺(tái)real server,否則分配給連接數(shù)最小的real server,作為下次分配請(qǐng)求的首選real
server。
lblcr:基于地址帶重復(fù)最小連接數(shù)調(diào)度,目的地址會(huì)對(duì)應(yīng)一個(gè)real server子集,為請(qǐng)求分配子集中
連接數(shù)最小real server,如果服務(wù)器中所有子集均已滿(mǎn)載,則從集群中選擇一個(gè)連接數(shù)較小服務(wù)
器,將它加入到這個(gè)子集并分配連接,一定時(shí)間內(nèi)不干預(yù)就會(huì)將子集中負(fù)載最大的節(jié)點(diǎn)從子集中移
除。
SED:最短期望的延遲算法,基于wlc算法,將連接交給wlc結(jié)果最小的real server。假如A、B、C
分別權(quán)重為1、2、3,連接數(shù)分別是1、2、3,使用sed算法后運(yùn)算式如下:A(1+1)/1、B(1+2)/2、
C(1+3)/3,就會(huì)交給C服務(wù)器。
NQ:最少隊(duì)列調(diào)度,如果有臺(tái)real server的連接數(shù)=0就直接分配過(guò)去,此時(shí)不想需要進(jìn)行SED運(yùn)
算,如果不處于空閑狀態(tài)需要進(jìn)行SED的運(yùn)算。
?2.haproxy/nginx模式
如圖示,大體與LVS差不多,但是haproxy/nginx模式下apache/nginx/圖片服務(wù)器處理好的結(jié)果需要經(jīng)過(guò)請(qǐng)求的原路返回給用戶(hù)?
?四.常用集群軟硬件列舉
1.企業(yè)常用集群軟件
LVS,keepalived,haproxy,nginx,apache,heartbeat文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-650028.html
2.企業(yè)常用集群硬件
F5,Netscaler,Radware文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-650028.html
到了這里,關(guān)于集群、負(fù)載均衡集群、高可用集群簡(jiǎn)介,LVS工作結(jié)構(gòu)、工作模式、調(diào)度算法和haproxy/nginx模式拓?fù)浣榻B的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!