摘要:衡量架構伸縮性的主要標準是否容易向集群中添加新的服務器。網站的橫向分離將不同業務模塊進行分離部署,實現系統伸縮性。大家,可以根據每一種具體的架構設計進行深究。文章借鑒于書籍大型網站技術架構。
網站開發初期,我們習慣性把所有代碼都寫到一個項目中。
前臺、后臺、緩存、數據庫、靜態資源... 等等。
網站系統物理分離
慢慢的系統會原來越大,很顯然需要面對大量用戶的高并發訪問和存儲海量數據。
很多用戶的請求,不可能在一臺服務器上完成。
很多緩存數據,數據庫數據,也不可能在一臺服務器上完成。
這是,網站的伸縮性架構就變得尤為重要。
如下圖。
原理
我們通過多臺服務器組裝一個整體共同提供服務,通過不斷地向集群中加入服務器,來緩解不斷上升的
用戶并發訪問壓力和不斷增長的數據存儲需求。
衡量架構伸縮性的主要標準:
是否容易向集群中添加新的服務器。
當加入新的服務器,是否可以提供和原來的服務器無差別的服務。
集群中可容納的總的服務器數量是否有限制。
應用服務器集群
只要服務器上不保存數據,所有的服務器都是對等的,通過負載均衡設備就可以向集群中增加服務器。
關系型數據庫集群(MYSQL)
關系型數據庫的集群伸縮性方案必須在數據庫之外實現,通過路由分區等手段將部署有多個數據的服務器組成一個集群。
例如:Mysql 等。
非關系型數據庫集群(NOSQL)
非關系型數據庫先天就是為海量數據庫準備的,因此對伸縮性的支持非常好。
例如:Redis、Memcache 等等。
緩存服務器集群
加入新的服務器可能會導致緩存路由失效,進而導致集群中大部分緩存數據都無法訪問。
部署前需要改進緩存路由算法保證緩存數據的可訪問性。
靜態資源服務器集群
比如 CSS,JS,Img 等資源進行部署到服務器集群,降低流量并提高頁面呈現速度。
網站的縱向分離
將業務處理流程上的不同部分進行分離部署,實現系統伸縮性。
如下圖。
網站的橫向分離
將不同業務模塊進行分離部署,實現系統伸縮性。
如下圖。
單一功能通過集群規模進行伸縮。
將不同功能分離部署可以實現一定程度的伸縮性,但是隨著網站訪問量的逐步增加,即使分離到最新粒度的獨立部署
單一服務器也不能滿足業務規模的要求。
因此,必須使用服務器集群,即將相同服務部署在多臺服務器上構成一個集群整體對外服務。
比如:搜索功能。
如果一臺服務器可以提供每秒1000次的請求服務,如果網站高峰期,每秒搜索訪問量為10000次。
那么,就需要你部署10臺服務器構成一個集群。
同理,緩存服務器也會出現這種情況。
事實上,計算一個服務的集群規模,需要同時考慮其對可用性、性能的影響及關聯服務集群的影響。
總結
集群伸縮性,可以分為應用服務器集群伸縮性和數據服務器集群伸縮性。
這兩種集群由于對數據狀態管理的不同,技術實現也有很大的區別。
大家,可以根據每一種具體的架構設計進行深究。
文章借鑒于書籍《大型網站技術架構》。
Thanks ~
AD:
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/21991.html
摘要:使用緩存兩個前提條件數據訪問熱點不均衡數據某時段內有效,不會很快過期反向代理本地緩存分布式緩存異步旨在系統解耦。 大型網站技術架構-入門梳理 標簽 : 架構設計 [TOC] 羅列了大型網站架構涉及到的概念,附上了簡單說明 前言 本文是對《大型網站架構設計》(李智慧 著)一書的梳理,類似文字版的思維導圖 全文主要圍繞性能,可用性,伸縮性,擴展性,安全這五個要素 性能,可用性,伸縮性...
摘要:阿里巴巴的共享服務理念以及企業級互聯網架構建設的思路,給這些企業帶來了不少新的思路,這也是我最終決定寫這本書的最主要原因。盡在雙阿里巴巴技術演進與超越是迄今唯一由阿里巴巴集團官方出品全面闡述雙八年以來在技術和商業上演進和創新歷程的書籍。 showImg(https://segmentfault.com/img/remote/1460000015386860); 1、大型網站技術架構:核...
閱讀 3278·2023-04-26 00:57
閱讀 600·2021-10-08 10:05
閱讀 1345·2021-09-08 09:36
閱讀 4146·2021-08-12 13:31
閱讀 2542·2019-08-30 15:55
閱讀 2237·2019-08-30 15:55
閱讀 1013·2019-08-30 15:55
閱讀 2683·2019-08-29 13:17