互聯網公司IT系統架構進化之路

一日,與一高手在茶館聊天。他問道:在鞋廠劍派這兩年,可習的什麼高深的劍法?我不禁一愣,細細想來,這兩年每日練習的都是簡單的劈砍動做和一些簡練的套路。並無去練什麼高深的劍法。不過鞋廠劍派在江湖上也算小有名氣戰力不俗,也攻下了不小的山頭,就連天下三大門派之一BB派也對咱們的山頭虎視眈眈。門派的頭領們爲什麼沒讓咱們去練習高深的劍法?想來,咱們打的是羣架,而不是單挑。把每一個練習簡單招式的人放在一塊兒,簡單的招式組成的就是威力極大的劍陣。
劍陣纔是一門神功。
劍陣也並不是一開始就威力極大,也是由幾我的簡單的組合,經歷生死攸關的戰鬥,才逐步發展而來。
這劍陣就是咱們互聯網公司大型的IT系統。
 
 
那怎樣纔算一個大型的IT系統呢?一個系統既要有大併發的用戶訪問,又有海量的數據才能算大型IT系統。
 
咱們如今經常使用的大型IT系統都是從小系統開始,隨着用戶量和數據量的大幅增長一步一步發展而來。
 
最開始是最簡單的系統架構,應用和數據庫部署在同一臺服務器上,好比:網站應用+數據庫服務器或者面向App的Service+數據庫服務器。
這種系統架構能夠支撐天天幾百到上萬人的訪問。
1、隨着用戶量和數據量的上升,單服務器的負載逐漸升高,這時候能夠把數據庫拆分到一臺單獨的服務器上。這樣就能緩解系統的壓力。
2、接下來應用服務器的負載又太高,這時候就要將應用服務器擴展爲集羣。經過2個手段:1,引入負載均衡設備,將請求均勻的轉發到集羣中的服務器上。2,引入Session Server 讓用戶感受到是跟同一臺服務器通信。
3、後來數據庫壓力又變大。這個時候,能夠將數據庫進行垂直切分,就是按照業務單元,將數據庫解耦。每一個獨立的業務數據,能夠單獨存放在一個數據庫中。還有水平分表、讀寫分離等措施。這個時候公司能夠搭建公司內統一的分佈式數據訪問層框架。
 
4、隨着業務的飛速發展,系統無節制的變的臃腫龐大,大量的web service 的調用將咱們的系統變成了一個蜘蛛網。質量愈來愈難以保證。故障頻發,效率低下,團隊人困馬乏。
    這個時候就能夠引入服務化框架,將系統拆小,重視系統分層,控制系統間的調用關係。
    採用消息系統來解決業務系統之間的強耦合問題。
5、使用軟負載中心與集中配置管理來支撐服務化框架、消息系統、分佈式數據訪問層、全部應用的配置管理等。
6、另外構建大型互聯網IT系統的其餘要素:CDN、大型網站的存儲系統(分佈式文件系統、NoSQL、緩存系統)、搜索系統、數據計算支撐、發佈系統、應用監控系統、依賴管理系統等等。
 
如圖:
 
相關文章
相關標籤/搜索