對(duì)于超大型互聯(lián)網(wǎng)應(yīng)用如Google搜索,淘寶網(wǎng),阿里巴巴SaaS平臺(tái)等需要云計(jì)算的有力支撐, 而以普通PC組建超大規(guī)模計(jì)算集群是一個(gè)常見選擇。
對(duì)于Web Server和App Server集群來(lái)說(shuō),通過(guò)大規(guī)模線性擴(kuò)展和集群化,可以很好的提升網(wǎng)站整體的并發(fā)訪問(wèn)量和整體性能。
1. 扁平式負(fù)載集群
一個(gè)常見的集群設(shè)計(jì)是扁平式負(fù)載集群(Flat Cluster),一臺(tái)或多臺(tái)Apache + 多臺(tái)App Server,通過(guò)Apache進(jìn)行負(fù)載均衡。如下圖所示。
(注:為簡(jiǎn)單起見,這里不考慮硬件負(fù)載,DNS,Squid等其他節(jié)點(diǎn)因素,下圖中3臺(tái)JBoss僅作示意,實(shí)踐中可擴(kuò)展到最大允許個(gè)數(shù))
扁平式負(fù)載集群能夠?qū)崿F(xiàn)基本的負(fù)載均衡,上圖中使得部署在JBoss上的應(yīng)用能提供3倍的并發(fā)量。
隨著應(yīng)用規(guī)模增長(zhǎng),App Server可以水平擴(kuò)展。但當(dāng)JBoss節(jié)點(diǎn)增加到一定數(shù)量時(shí),Apache成為瓶頸所在,主要是Apache和后端JBoss集群之間要建立更多的連接,而對(duì)于Apache服務(wù)器,連接資源是有限制的。
扁平式還有個(gè)維護(hù)問(wèn)題,1+N的模式,要增加,減少JBoss節(jié)點(diǎn)都要在Apache端處理,對(duì)HA會(huì)有短暫影響。
2. 多層負(fù)載集群
下圖中
Apache 1具有更高的處理能力,作為多層集群的前端。
Apache 2.x 具有和扁平式集群中的Apache相同的處理能力。
其中Apache 2.x 層相當(dāng)于增加了一個(gè)虛擬層,對(duì)于Apache 1來(lái)說(shuō),只需要管理和交互3臺(tái)服務(wù)器。而下層的子集群可根據(jù)需要靈活的進(jìn)行水平擴(kuò)展。
3. 多層分布式數(shù)據(jù)庫(kù)
多層集群思想對(duì)于數(shù)據(jù)庫(kù)切分尤為有用。
在扁平式下(參見圖1),假設(shè)1000萬(wàn)注冊(cè)用戶分10個(gè)庫(kù),則每個(gè)庫(kù)要處理100萬(wàn)用戶的業(yè)務(wù)數(shù)據(jù)。
而在多層分布式數(shù)據(jù)庫(kù)下,虛擬層仍保持 10個(gè)虛擬,但不處理實(shí)際數(shù)據(jù);每個(gè)虛擬節(jié)點(diǎn)下再設(shè)置 10個(gè)實(shí)際的數(shù)據(jù)庫(kù),那么,此架構(gòu)下,共100個(gè)數(shù)據(jù)庫(kù)實(shí)例,每個(gè)只需要處理10萬(wàn)用戶的業(yè)務(wù)數(shù)據(jù),仍有90萬(wàn)的剩余處理能力留作未來(lái)容量。因此,整個(gè)分布式數(shù)據(jù)庫(kù)的處理能力大大提升。
對(duì)于Web Server和App Server集群來(lái)說(shuō),通過(guò)大規(guī)模線性擴(kuò)展和集群化,可以很好的提升網(wǎng)站整體的并發(fā)訪問(wèn)量和整體性能。
1. 扁平式負(fù)載集群
一個(gè)常見的集群設(shè)計(jì)是扁平式負(fù)載集群(Flat Cluster),一臺(tái)或多臺(tái)Apache + 多臺(tái)App Server,通過(guò)Apache進(jìn)行負(fù)載均衡。如下圖所示。
(注:為簡(jiǎn)單起見,這里不考慮硬件負(fù)載,DNS,Squid等其他節(jié)點(diǎn)因素,下圖中3臺(tái)JBoss僅作示意,實(shí)踐中可擴(kuò)展到最大允許個(gè)數(shù))

扁平式負(fù)載集群能夠?qū)崿F(xiàn)基本的負(fù)載均衡,上圖中使得部署在JBoss上的應(yīng)用能提供3倍的并發(fā)量。
隨著應(yīng)用規(guī)模增長(zhǎng),App Server可以水平擴(kuò)展。但當(dāng)JBoss節(jié)點(diǎn)增加到一定數(shù)量時(shí),Apache成為瓶頸所在,主要是Apache和后端JBoss集群之間要建立更多的連接,而對(duì)于Apache服務(wù)器,連接資源是有限制的。
扁平式還有個(gè)維護(hù)問(wèn)題,1+N的模式,要增加,減少JBoss節(jié)點(diǎn)都要在Apache端處理,對(duì)HA會(huì)有短暫影響。
2. 多層負(fù)載集群
下圖中
Apache 1具有更高的處理能力,作為多層集群的前端。
Apache 2.x 具有和扁平式集群中的Apache相同的處理能力。

其中Apache 2.x 層相當(dāng)于增加了一個(gè)虛擬層,對(duì)于Apache 1來(lái)說(shuō),只需要管理和交互3臺(tái)服務(wù)器。而下層的子集群可根據(jù)需要靈活的進(jìn)行水平擴(kuò)展。
3. 多層分布式數(shù)據(jù)庫(kù)
多層集群思想對(duì)于數(shù)據(jù)庫(kù)切分尤為有用。
在扁平式下(參見圖1),假設(shè)1000萬(wàn)注冊(cè)用戶分10個(gè)庫(kù),則每個(gè)庫(kù)要處理100萬(wàn)用戶的業(yè)務(wù)數(shù)據(jù)。
而在多層分布式數(shù)據(jù)庫(kù)下,虛擬層仍保持 10個(gè)虛擬,但不處理實(shí)際數(shù)據(jù);每個(gè)虛擬節(jié)點(diǎn)下再設(shè)置 10個(gè)實(shí)際的數(shù)據(jù)庫(kù),那么,此架構(gòu)下,共100個(gè)數(shù)據(jù)庫(kù)實(shí)例,每個(gè)只需要處理10萬(wàn)用戶的業(yè)務(wù)數(shù)據(jù),仍有90萬(wàn)的剩余處理能力留作未來(lái)容量。因此,整個(gè)分布式數(shù)據(jù)庫(kù)的處理能力大大提升。
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
