- Service Mesh實(shí)戰(zhàn):用Istio軟負(fù)載實(shí)現(xiàn)服務(wù)網(wǎng)格
- 周遙
- 316字
- 2019-07-29 18:22:32
1.1 單機(jī)小型機(jī)時(shí)期
很顯然計(jì)算機(jī)誕生之初只是一個(gè)工具,像汽車、電視一樣,只有單一的功能;不過計(jì)算機(jī)的特別之處就在于,人們能為其編寫程序,不同的程序能夠?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萬,很多人都不知道互聯(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億(上漲了近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)”
- Apache OFBiz Development: The Beginner's Tutorial
- Photoshop CS6平面設(shè)計(jì)應(yīng)用教程(第4版)
- Animate 2022動(dòng)畫制作:團(tuán)體操隊(duì)形
- UG NX 8.0基礎(chǔ)與實(shí)例教程
- Photoshop CS6中文版基礎(chǔ)培訓(xùn)教程
- 無師自通AutoCAD:中文版室內(nèi)設(shè)計(jì)
- 音樂日記:Logic Pro X場景x風(fēng)格編曲實(shí)用教程
- 中文版Rhino 5.0完全自學(xué)教程(第3版)
- Photoshop數(shù)碼攝影后期處理技法從入門到精通
- Oracle Warehouse Builder 11g: Getting Started
- 中文版After Effects CC 2018 動(dòng)漫、影視特效后期合成秘技
- UG NX 9中文版從入門到精通
- 中文版Photoshop CS6從新手到高手(超值版)
- 抖音+剪映+Premiere短視頻制作從新手到高手(第2版)
- Photoshop+Illustrator+CorelDRAW一站式高效學(xué)習(xí)一本通