架構演化-初識
以下是自己的一點理解,如有理解有誤的地方歡迎指出,不勝感謝。
1 網站建設初期,使用者和訪問量都非常小,應用服務+資料庫+檔案服務全都在一個伺服器中
2 使用者和訪問量增大,應用伺服器計算效率不夠,檔案服務儲存量不夠,資料庫記憶體和硬碟需求不夠
導致問題的原因是所有服務都在一個伺服器上,用多臺伺服器來解決問題,出現 應用伺服器+資料庫伺服器+檔案伺服器
應用伺服器要邏輯計算能力強的cpu,資料庫伺服器需要更大的磁碟和記憶體,檔案伺服器要大磁碟,每個伺服器單獨佔有自己的資源。
3 為了減小資料庫壓力,引入快取,獲取資料之前,先到快取中拿取資料,這樣可以大幅度減小資料庫讀取資料的壓力。
4 當訪問量不斷增加的時候,可能不斷更換更強大的伺服器,對於高併發海量資料的網站來說這樣並不能最終解決問題,
這時候就需要對應用伺服器做叢集,透過叢集分擔負載並且可以達到高擴充套件的作用
這時候的架構為:叢集應用伺服器(負載均衡)+快取伺服器+資料庫伺服器+檔案伺服器
5、隨著訪問量增加,雖然快取承擔了一部分資料庫壓力,但還有一部分資料需要直接訪問資料庫(未命中、過期資料、需要插入資料)
這時 可以使資料庫讀寫分離處理(大部分資料庫都支援)
6、然後新增CDN和反向代理,加速網站響應 ,提供更好的使用者體驗,兩者原理都是快取:
CDN部署在網路提供商機房,使使用者在訪問時從距離最近的網路提供商的機房獲取資料
反向代理:使用者訪問中心機房後,先訪問反向代理伺服器,如果這個伺服器有所需要的資料快取,直接從快取中返回給使用者
7、這時候對於資料量大的表的耗時查詢,最好走搜尋引擎或NoSQL資料庫,到此資料儲存有搜尋引擎+NoSQL+快取+主從資料庫,
對與資料訪問最好有一個統一的一個模組來處理
8、所有的業務都在一個系統中,導致過於複雜,則需要將整個系統按照業務切分為不同的系統,系統間,透過超連結、訊息資料分發
管理相同的資料儲存系統來關聯一個完成系統,到此係統管理更加容易。
快取使用:
1、CDN:網路提供商處快取一些靜態的資源,使用者訪問這些資源時候會就近返回資料,提高網站相應速度。如影片網站
2、反向代理:快取靜態資源,使用者訪問網站的時候如果有快取,則直接返回,減小應用伺服器壓力
3、本地快取,和分散式快取減小資料庫的訪問壓力
java企業級通用許可權安全框架原始碼 SpringMVC mybatis or hibernate+ehcache shiro druid
bootstrap HTML5
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/30372520/viewspace-1752951/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 架構演化架構
- 微服務架構初識微服務架構
- 大型網站架構演化網站架構
- Android 架構演化之路Android架構
- Java 程式設計知識列表與系統架構演化Java程式設計架構
- 架構演化學習思考(4) --- IOC的學習認識架構
- UI架構設計的演化UI架構
- 架構演化思考總結(1)架構
- 架構演化思考總結(2)架構
- 架構演化學習思考(3)架構
- 即學即會:初識 Serverless 架構Server架構
- 微服務架構在阿里的演化微服務架構阿里
- 大型網站架構演化歷程網站架構
- Java應用架構的演化之路Java應用架構
- LinkedIn架構演化歷史解析架構
- 大型網站系統架構演化網站架構
- Java程式設計知識列表與系統架構演化過程Java程式設計架構
- ibm gpfs之技術架構初識IBM架構
- 大型網站技術架構(二)--大型網站架構演化網站架構
- 大型網站技術架構(一)--大型網站架構演化網站架構
- 淺談Web架構之演化過程Web架構
- 談談UI架構設計的演化UI架構
- 初識“六邊形”架構設計理論架構
- 初識雲端計算:歷史、服務、架構架構
- 大型網站架構演化發展歷程網站架構
- 大型網站系統架構演化之路【mark】網站架構
- 夏軍:小米大資料整合架構演化之路大資料架構
- 大型網站架構演化發展歷程 - 上網站架構
- 談談從CAP定理到Lambda架構的演化架構
- 1.2 大型網站架構演化發展歷程網站架構
- 初識Redis之NoSQL+RDBMS演化史+什麼是NoSQLRedisSQL
- 初識makefile結構
- ArchSummit分享 | 高德地圖App架構演化與實踐MIT地圖APP架構
- 讀資料湖倉08資料架構的演化架構
- 資料結構初識資料結構
- 初識建構函式函式
- 馬蜂窩 IM 系統架構的演化和升級架構
- 從單體到微服務,軟體架構演化總覽微服務架構