單機系統(tǒng)與集群系統(tǒng)

一般來講,一個網(wǎng)站發(fā)展的演化過程,幾乎都會經(jīng)歷單機架構(gòu)、集群架構(gòu)、分布式架構(gòu)。伴隨業(yè)務系統(tǒng)架構(gòu)一同演變的還有外圍系統(tǒng)和存儲系統(tǒng),如關系型數(shù)據(jù)庫的分庫分表改造、從本地緩存過渡到分布式緩存等等。本文對其中單機系統(tǒng)與集群系統(tǒng)的特點做簡單總結(jié)。

單機系統(tǒng)

每一個網(wǎng)站創(chuàng)立初期肯定不可能擁有龐大的用戶流量和海量數(shù)據(jù),而是一步步演變其自身架構(gòu),滿足自身業(yè)務,因為系統(tǒng)的做大往往與業(yè)務的做大呈正比的。對于一個剛上線的項目,我們往往會將Web服務器、文件服務器和數(shù)據(jù)庫全都部署在同一臺物理服務器上,最大好處是低成本。這樣的部署對于剛起步的小網(wǎng)站是非常實惠的,而當業(yè)務發(fā)展、用戶逐漸增多時,系統(tǒng)瓶頸便開始暴露出來,此時需對網(wǎng)站做出以下四點調(diào)整:

獨立部署,避免不同的系統(tǒng)之間相互爭奪共享資源(比如CPU、內(nèi)存、磁盤等);
Web服務器集群,實現(xiàn)可伸縮性;
部署分布式緩存系統(tǒng),使查詢操作盡可能在緩存命中;
數(shù)據(jù)庫實施讀寫分離,實現(xiàn)HA(High Availability)架構(gòu)。

單機系統(tǒng)

集群架構(gòu)

在用戶開始增多這個階段,需要解決的主要問題是提升系統(tǒng)的并行處理能力,降低單機系統(tǒng)負載,一邊支撐更多的用戶訪問操作。集群技術(shù)可以將多臺獨立的服務器通過網(wǎng)絡相互連接組合起來,形成一個有效整體對外提供服務,使用集群的意義在于其目的收益高于所付出的實際成本和代價?;ヂ?lián)網(wǎng)業(yè)內(nèi)有一個共同的認知,那就是當一臺服務器的處理能力接近或已超出其容量上限時,不要企圖更換一臺性能更強勁的服務器(scale up),通常的做法是采用集群技術(shù)(scale out),通過增加新的服務器來分散并發(fā)訪問流量,2臺不夠就擴到4臺,4臺不夠就擴到8臺,只要業(yè)務系統(tǒng)能夠隨意支持服務器的橫向擴容,那么從理論上來說就應該無懼任何挑戰(zhàn),從而實現(xiàn)可伸縮性和高可用性架構(gòu)。

如下圖所示,對于無狀態(tài)的 Web 節(jié)點來說,通過 Nginx 來實現(xiàn)負載均衡調(diào)度是個不錯的選擇,但是在生產(chǎn)環(huán)境中, Nginx 也應該具備高可用性,這可以依靠DNS 輪詢來實現(xiàn)。在集群環(huán)境中, Web 節(jié)點的數(shù)量越多,并行處理能力就越強,哪怕其中某些節(jié)點因為種種原因巖機,也不會使系統(tǒng)的整體服務不可用。

集群系統(tǒng)

伴隨著 Web 集群改造的還有分布式緩存和數(shù)據(jù)庫,對于查詢操作我們應該盡可能在緩存命中,從而降低數(shù)據(jù)庫的負載壓力。盡管緩存技術(shù)可以解決數(shù)據(jù)庫的大部分查詢壓力,但是寫入操作和無法在緩存命中的數(shù)據(jù)仍然需要頻繁地對數(shù)據(jù)庫進行讀/寫操作,因此對數(shù)據(jù)庫實施讀/寫分離改造也非常重要。業(yè)務發(fā)展到一定階段后必然會變得更加復雜,用戶規(guī)模也會線性上升,此時可以對現(xiàn)有網(wǎng)站架構(gòu)做出以下兩點調(diào)整:
利用CDN 加速系統(tǒng)響應;
業(yè)務垂直化,降低藕合,從而實現(xiàn)分而治之的管理。
中國的網(wǎng)絡環(huán)境復雜,不同網(wǎng)絡和地區(qū)的用戶訪問網(wǎng)站時,速度會有差別,當流量增大時,可以將系統(tǒng)的一些靜態(tài)資源數(shù)據(jù)緩存到CDN節(jié)點上,如下圖所示,用戶請求不會直接落到企業(yè)網(wǎng)站上,而是請求到離用戶最近的ISP(互聯(lián)網(wǎng)服務提供商)上,故大幅度提升系統(tǒng)整體的響應速度。

利用CDN加速網(wǎng)站響應

參考書目:*《人人都是架構(gòu)師》,高翔龍著。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容