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

1.1 單機(jī)小型機(jī)時(shí)期

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

好在,后來誕生了影響21世紀(jì)的互聯(lián)網(wǎng)。

1.1.1 互聯(lián)網(wǎng)的誕生

第一個(gè)計(jì)算機(jī)網(wǎng)誕生于1969年,就是美軍的阿帕網(wǎng)(ARPA),其最初僅僅是為軍事目的服務(wù)的,后來一些大學(xué)由于科研原因逐步加入,慢慢就進(jìn)化成今天的“因特網(wǎng)”(Internet)。隨著計(jì)算機(jī)的普及,網(wǎng)上商業(yè)服務(wù)迅速崛起,網(wǎng)絡(luò)上的服務(wù)開始由單一的信息介紹變?yōu)槲寤ò碎T的服務(wù),它們?yōu)檎麄€(gè)世界帶來了全新的面貌。

2000年初,中國的網(wǎng)民僅為890萬數(shù)據(jù)來源:《中國互聯(lián)網(wǎng)絡(luò)發(fā)展?fàn)顩r統(tǒng)計(jì)報(bào)告(2000/1)》。,很多人都不知道互聯(lián)網(wǎng)為何物,因此大多數(shù)服務(wù)業(yè)務(wù)單一且簡單,采用典型的單機(jī)模型外加一個(gè)數(shù)據(jù)庫就能應(yīng)對(duì)絕大多數(shù)場景,所有功能都寫在一個(gè)應(yīng)用里并進(jìn)行集中部署,如圖1.1所示:

圖1.1 “最早的互聯(lián)網(wǎng)服務(wù)架構(gòu)”

現(xiàn)在看來,這簡直是在開玩笑!但真的沒有,這個(gè)架構(gòu)對(duì)于那時(shí)的用戶量來說確實(shí)足夠而且簡單,甚至如今知名的“淘寶網(wǎng)”在2003年剛剛誕生時(shí)就差不多是這個(gè)樣子。

工程師們?cè)谝粋€(gè)大應(yīng)用里添磚加瓦,需要發(fā)布的時(shí)候就集中打包,如果遭遇錯(cuò)誤就全部回滾。好在那個(gè)時(shí)候各部分功能都還算簡單,在依賴組里吼一聲,給個(gè)接口名,在系統(tǒng)內(nèi)部引用再調(diào)用一下也就解決了。同時(shí)那個(gè)時(shí)期還有很多經(jīng)典的設(shè)備,如IBM的小型機(jī)(如Power系列),或者EMC的高端存儲(chǔ)(如Symmetrix系列)等,都是單機(jī)時(shí)代的典型代表,它們追求的都是單機(jī)服務(wù)能力,那個(gè)時(shí)候還沒有分布式一說。

1.1.2 復(fù)雜應(yīng)用拆分

不過到了2018年,中國網(wǎng)民的數(shù)量達(dá)到了驚人的7.72億數(shù)據(jù)來源:2018年第41次《中國互聯(lián)網(wǎng)絡(luò)發(fā)展?fàn)顩r統(tǒng)計(jì)報(bào)告》。(上漲了近100倍),而且隨著應(yīng)用的日益復(fù)雜化與多樣化,開發(fā)者們對(duì)系統(tǒng)的“容災(zāi)、伸縮及業(yè)務(wù)響應(yīng)能力”有了更高的要求。

暫且不說用戶增長的影響因素,單純從服務(wù)的穩(wěn)定性與功能上來講,單機(jī)架構(gòu)就有很大的問題,因?yàn)槿绻胺?wù)器”和“數(shù)據(jù)庫”中的任一個(gè)出現(xiàn)故障,整個(gè)系統(tǒng)就會(huì)崩潰,或者說若某個(gè)板塊的功能需要更新(例如“新聞網(wǎng)頁”),那么整個(gè)系統(tǒng)便需要重新發(fā)布。顯然,對(duì)于業(yè)務(wù)迅速發(fā)展的萬物互聯(lián)時(shí)代,這兩點(diǎn)就足以致命。

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

1.1.3 遭遇性能問題

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

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

圖1.2 “業(yè)務(wù)垂直分拆后的部署架構(gòu)”

主站蜘蛛池模板: 吉林省| 肥城市| 祁东县| 成安县| 灵丘县| 丰原市| 揭西县| 垦利县| 苏尼特左旗| 呼和浩特市| 濉溪县| 崇礼县| 麟游县| 宜春市| 丹阳市| 满城县| 三亚市| 浦江县| 息烽县| 呼和浩特市| 菏泽市| 宁津县| 任丘市| 南部县| 玉屏| 延边| 论坛| 晋江市| 奈曼旗| 苍南县| 广饶县| 宿迁市| 红桥区| 潜山县| 珲春市| 郁南县| 郧西县| 那曲县| 龙胜| 彭阳县| 长武县|