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

扁平式負載集群能夠實現基本的負載均衡,上圖中使得部署在JBoss上的應用能提供3倍的并發量。
隨著應用規模增長,App Server可以水平擴展。但當JBoss節點增加到一定數量時,Apache成為瓶頸所在,主要是Apache和后端JBoss集群之間要建立更多的連接,而對于Apache服務器,連接資源是有限制的。
扁平式還有個維護問題,1+N的模式,要增加,減少JBoss節點都要在Apache端處理,對HA會有短暫影響。
2. 多層負載集群
下圖中
Apache 1具有更高的處理能力,作為多層集群的前端。
Apache 2.x 具有和扁平式集群中的Apache相同的處理能力。

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

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