官术网_书友最值得收藏!

1.1 單機小型機時期

很顯然計算機誕生之初只是一個工具,像汽車、電視一樣,只有單一的功能;不過計算機的特別之處就在于,人們能為其編寫程序現代計算機建立在圖靈計算模型之上,這種模型描述了“一個輸入、一個計算、一個狀態及一個輸出”,程序便是在計算與狀態之間的轉換指令,因此只要指令夠豐富,就可以產生變化無窮的結果。,不同的程序能夠實現不同的功能,這就使得計算機的應用面得到了空前的發展,變得不僅僅是為少數人服務,而是普惠大眾了。這個時候,就需要一種方式讓更多的人能從計算機的功能中受益。當然把每個人都叫到屋里也許是個方法(如舉辦開放日等),但顯然這太麻煩,而且受益者遠遠達不到普惠的程度。

好在,后來誕生了影響21世紀的互聯網。

1.1.1 互聯網的誕生

第一個計算機網誕生于1969年,就是美軍的阿帕網(ARPA),其最初僅僅是為軍事目的服務的,后來一些大學由于科研原因逐步加入,慢慢就進化成今天的“因特網”(Internet)。隨著計算機的普及,網上商業服務迅速崛起,網絡上的服務開始由單一的信息介紹變為五花八門的服務,它們為整個世界帶來了全新的面貌。

2000年初,中國的網民僅為890萬數據來源:《中國互聯網絡發展狀況統計報告(2000/1)》。,很多人都不知道互聯網為何物,因此大多數服務業務單一且簡單,采用典型的單機模型外加一個數據庫就能應對絕大多數場景,所有功能都寫在一個應用里并進行集中部署,如圖1.1所示:

圖1.1 “最早的互聯網服務架構”

現在看來,這簡直是在開玩笑!但真的沒有,這個架構對于那時的用戶量來說確實足夠而且簡單,甚至如今知名的“淘寶網”在2003年剛剛誕生時就差不多是這個樣子。

工程師們在一個大應用里添磚加瓦,需要發布的時候就集中打包,如果遭遇錯誤就全部回滾。好在那個時候各部分功能都還算簡單,在依賴組里吼一聲,給個接口名,在系統內部引用再調用一下也就解決了。同時那個時期還有很多經典的設備,如IBM的小型機(如Power系列),或者EMC的高端存儲(如Symmetrix系列)等,都是單機時代的典型代表,它們追求的都是單機服務能力,那個時候還沒有分布式一說。

1.1.2 復雜應用拆分

不過到了2018年,中國網民的數量達到了驚人的7.72億數據來源:2018年第41次《中國互聯網絡發展狀況統計報告》。(上漲了近100倍),而且隨著應用的日益復雜化與多樣化,開發者們對系統的“容災、伸縮及業務響應能力”有了更高的要求。

暫且不說用戶增長的影響因素,單純從服務的穩定性與功能上來講,單機架構就有很大的問題,因為如果“服務器”和“數據庫”中的任一個出現故障,整個系統就會崩潰,或者說若某個板塊的功能需要更新(例如“新聞網頁”),那么整個系統便需要重新發布。顯然,對于業務迅速發展的萬物互聯時代,這兩點就足以致命。

因此,工程師們開始思考,如何在保障可用性的同時快速響應業務變化。他們想到了將一個應用拆分成多個應用的方法,也就是將上面的“大統一”拆分成多個子應用,“新聞頁面”應用、“聊天室”應用、“論壇”應用等,這種方式被稱為垂直拆分。它們各自有整套的硬件體系作為支撐,于是就變成了圖1.2的樣子。

1.1.3 遭遇性能問題

應用垂直拆分確實解決了應用開發中發布的問題,現在每個應用都可以獨立設計、開發及部署了,工程師們非常興奮,干勁十足,新功能不斷上線。不過隨著用戶數量指數級的增長與摩爾定律的限制,單機計算能力完全跟不上業務的發展,這個時候工程師們發現,買再高端的計算存儲設備也是杯水車薪,不能從根本上解決問題;而且,高端的計算設備往往非常昂貴,例如IBM經典的Power系列,當時的售價就高達十幾萬美元,這樣的開銷對于小型企業簡直是天方夜譚。

因此這個時候,工程師們就需要一種廉價同時擁有高性能的解決方案。什么?廉價又高性能,確定這不是在做白日夢?如果按照之前單機的思路當然是不可能的,但我們可以換個思路來解決這個問題。

圖1.2 “業務垂直分拆后的部署架構”

主站蜘蛛池模板: 岳西县| 永福县| 田东县| 丹凤县| 镇原县| 封开县| 河北区| 萝北县| 吉隆县| 曲阜市| 南平市| 南平市| 罗定市| 陵川县| 万安县| 中江县| 革吉县| 旬阳县| 黄陵县| 岗巴县| 广南县| 渝中区| 资兴市| 临沭县| 陇西县| 玉林市| 梧州市| 尚志市| 江源县| 教育| 安康市| 屏南县| 昌黎县| 麻江县| 阜阳市| 马公市| 高密市| 务川| 邹城市| 漳州市| 西和县|