高新技術企業(yè)認定 增值電信業(yè)務 ISO體系認證 CMMI軟件成熟度認證 專精特新企業(yè)認定 新技術新產品
可伸縮性架構指的是:不改變網站的軟硬件設計,只通過改變部署的服務器數(shù)量就可以擴大或縮小網站的服務處理能力。
大型網站都是從小型網站(一臺廉價的 PC 服務器)開啟自己的大型系統(tǒng)演化之路的。在這一過程中,最重要的技術手段就是使用服務器集群,通過不斷地向集群中添加服務器來增強整個集群的處理能力。只要在技術上能夠向集群中加入的服務器數(shù)量與集群的處理能力成線性關系,那么就可以利用這一手段不斷提升自己的網站規(guī)模,這就是系統(tǒng)的伸縮性架構。
演化過程從總體上來說是漸進式的,網站的規(guī)模和服務器的規(guī)??偸窃诓粩嗟財U大,即總是在 “伸”。但也有可能因為運營的需要(促銷活動),在某個短時間內,網站的訪問量和交易規(guī)模突然爆發(fā)式增長,然后又回歸正常狀態(tài)。這就需要網站的技術架構具有極好的伸縮性——在活動期間向服務器集群中加入更多的服務器以滿足用戶的訪問,活動結束后再將這些服務器下線,以節(jié)約成本。
1 設計伸縮性架構
網站架構發(fā)展史其實就是一部不斷向網站添加服務器的歷史。
伸縮性架構分為兩種:
* 根據(jù)功能進行物理分離 - 不同服務器部署不同的服務。
* 單一功能通過集群實現(xiàn) - 集群內的多臺服務器部署相同的服務,提供相同的功能。
根據(jù)功能進行物理分網站發(fā)展早期,總是從現(xiàn)有的服務器中分離出部分功能與服務的:每次分離都會有更多的服務器加入,這些新增的服務器被用于處理某種特定的服務。這種伸縮性手段可以用于網站發(fā)展的任何階段,它可以分為兩種情況:縱向分離與橫向分離。
縱向分離(分層后分離):是將業(yè)務流程上的不同層進行分離部署。
橫向分離(業(yè)務分割后的分離):把不同的業(yè)務模塊分離部署。橫向分離的粒度可以很小,比如一個關鍵網頁可以獨立部署為一個服務,專門部署。
單一功能集群部署
在 “根據(jù)功能進行物理分離” 的模式下,隨著網站訪問量的增長,即使是分離到最小粒度的獨立部署也可能無法滿足業(yè)務規(guī)模的需要。這時就必須使用集群,即把相同的服務部署在多臺服務器構成的集群上,實現(xiàn)整體對外服務。
當一頭牛拉不動車時,不是去尋找一頭更強壯的牛,而是用兩頭牛來拉車。一個服務的集群規(guī)模,需要同時考慮可用性、性能以及關聯(lián)服務集群的影響。
2 伸縮性設計之應用服務器集群
把應用服務器設計為無狀態(tài)模式,這樣通過負載均衡服務器,就可以把用戶請求轉發(fā)到不同的應用服務器上咯:
負載均衡服務器能夠感知或配置集群的服務器數(shù)量,這樣就可以向新上線的服務器分發(fā)請求,并停止已下線的服務器,這樣就實現(xiàn)了應用服務器集群的伸縮性。
負載均衡技術,不僅可以實現(xiàn)伸縮性,還能改善網站的可用性,所以是網站技術的殺手锏之一哦O(∩_∩)O~
文章內容來源于網絡,侵刪
關注公眾號
在線客服