? ? ?? 網(wǎng)絡(luò)是一條神奇的信息之河,你想要了解的,你想要傳遞的,只需輕輕的碰一碰河水,就能嘗到神奇的甘甜。也許是它太普及,以至于,人們忘掉了它原本的神秘。
本文主要從N個(gè)層面,普及各個(gè)系統(tǒng)、各個(gè)層面,簡(jiǎn)單的介紹一下整個(gè)網(wǎng)絡(luò)世界的各個(gè)環(huán)節(jié),需要什么樣的人員、什么樣的工具/設(shè)備、參與什么樣的工作。
一、總體架構(gòu)

? ?? 本圖大致介紹了一個(gè)大型系統(tǒng)所需要的全部?jī)?nèi)容,比如淘寶,首先得有機(jī)房,放服務(wù)器等基礎(chǔ)硬件設(shè)備,基礎(chǔ)設(shè)備通電開(kāi)機(jī)以后,需要裝操作系統(tǒng),裝完操作系統(tǒng)了,得在上面裝軟件(APP、服務(wù)),裝完軟件了,就可以開(kāi)發(fā)APP、網(wǎng)站、網(wǎng)頁(yè)給人們使用了。
二、機(jī)房里都有啥?

1、機(jī)房物理結(jié)構(gòu):頂部、底部會(huì)有夾層,用來(lái)走線,因?yàn)闄C(jī)房有大量的網(wǎng)線、電源線需要連接。一臺(tái)交換機(jī)可能就需要20根網(wǎng)線,通常網(wǎng)線走天花板,電源線走地面。
2、配電柜:機(jī)房的設(shè)備少則數(shù)十臺(tái),向百度云、華為云的機(jī)房可能有數(shù)萬(wàn)臺(tái),配電柜能夠提供穩(wěn)定的電壓,防止短路,便于排查某個(gè)區(qū)域的設(shè)備故障情況。
3、不間斷電源UPS:在停電的時(shí)候,能夠提供穩(wěn)定的電源,類似于充電寶的作用。當(dāng)然,針對(duì)一些重點(diǎn)機(jī)房,電力部門(mén)通常會(huì)有特殊的處理,可能有一些備用線路的提供,但自己準(zhǔn)備好UPS更能防患于未然。
4、中央監(jiān)控:機(jī)房通常有數(shù)十個(gè)攝像頭,8個(gè)以上監(jiān)視器監(jiān)控各個(gè)空間的情況。
5、消防報(bào)警系統(tǒng):機(jī)房設(shè)備只能使用二氧化碳滅火器,干粉滅火器可能與機(jī)房里的空氣、水附著到一起,進(jìn)而引起短路。報(bào)警系統(tǒng)處理能夠提醒保安立即處理以外,還直接連接到119救火中心。
6、放火隔斷:也就是防火門(mén)之類的,避免一個(gè)區(qū)域的火情擴(kuò)散到其他的區(qū)域。
7、防塵:進(jìn)入機(jī)房通常需要穿鞋套,帶頭套,有些地方還需要穿特殊的白色大衣,以防止人身上的灰塵散落到機(jī)房?;覊m通常是導(dǎo)致精密硬件老化、故障的主要原因。
三、網(wǎng)絡(luò)設(shè)備
1、路由器:幾乎每個(gè)城市家庭都會(huì)有的設(shè)備了,可以支持多個(gè)局域網(wǎng)內(nèi)設(shè)備連接到Internet。
2、貓(Modem):調(diào)制解調(diào)器,也就是把電話線傳輸?shù)拿}沖信號(hào)轉(zhuǎn)化為計(jì)算機(jī)能夠識(shí)別的數(shù)字信號(hào),回家看看自己的貓,左邊可能是電話線、光纖,右邊是網(wǎng)口,連接到路由器。不過(guò)現(xiàn)在有些modem也支持無(wú)線路由的功能。
3、交換機(jī):能夠劃分vlan的設(shè)備,通常能夠提供20-30個(gè)網(wǎng)口。交換機(jī)可以把機(jī)房里的設(shè)備劃分到不同的網(wǎng)絡(luò)區(qū)域,比如1-10在1個(gè)局域網(wǎng),11-20在另一個(gè)局域網(wǎng),兩個(gè)局域網(wǎng)之間無(wú)法連接。
4、防火墻:個(gè)人電腦上都有防火墻程序,在大型機(jī)房中,采用單獨(dú)的硬件防火墻,也就是將防火墻程序獨(dú)立成一臺(tái)設(shè)備,以減輕各臺(tái)應(yīng)用服務(wù)器的CPU芯片壓力。防火墻理應(yīng)算作一個(gè)安全設(shè)備,但網(wǎng)絡(luò)發(fā)達(dá)的今天,防火墻就像汽車的玻璃窗一樣,成為一件必不可少的設(shè)備。
5、F5負(fù)載均衡服務(wù)器:當(dāng)網(wǎng)絡(luò)流量過(guò)大的時(shí)候,單一的設(shè)備,單一的軟件部署在服務(wù)器上,都無(wú)法有效的解決分流的問(wèn)題。比如微信,同時(shí)有好幾百萬(wàn)人在聊天,那就是幾百萬(wàn)句話要發(fā)給特定的人,這個(gè)時(shí)候就需要F5把這些信息分發(fā)到不同的應(yīng)用服務(wù)器上去處理。這就是F5的作用。




補(bǔ)充說(shuō)明一下:Nginx Proxy 通常是代理服務(wù)器,也就是Nginx服務(wù)部署在服務(wù)器上,作用與F5類似,連接內(nèi)外網(wǎng),能夠分流數(shù)據(jù)。不夠性能肯定沒(méi)法跟硬件設(shè)備相比。
四、服務(wù)器
服務(wù)器:通常來(lái)說(shuō),就是一臺(tái)性能超強(qiáng)的主機(jī);一般的家用電腦是4核(4個(gè)cpu),4-8G內(nèi)存;服務(wù)器通常有更高的配置,可能達(dá)到16核,32G內(nèi)存,2T存儲(chǔ)空間。不過(guò)目前虛擬機(jī)技術(shù)的發(fā)展,服務(wù)器通常由運(yùn)維人員來(lái)配置,你需要什么配置的設(shè)備,機(jī)房管理人員會(huì)直接提供。
應(yīng)用服務(wù)器:也就是提供應(yīng)用服務(wù)的服務(wù)器,換句話說(shuō),就是把某些程序裝到服務(wù)器上面,那么這臺(tái)服務(wù)器的作用就變成了提供某種服務(wù)。比如簡(jiǎn)書(shū)的應(yīng)用服務(wù)器,可能提供登錄服務(wù)、賬戶注銷服務(wù)、連接微信的服務(wù)、提供網(wǎng)站服務(wù)等等。
存儲(chǔ)服務(wù)器:也就是用于存儲(chǔ)數(shù)據(jù)的服務(wù)器,這款設(shè)備與應(yīng)用服務(wù)器不同之處在于可以熱插拔多個(gè)硬盤(pán)。個(gè)人電腦可能數(shù)據(jù)最多幾百G,但例如微信,要存儲(chǔ)上億個(gè)用戶的數(shù)據(jù),這些數(shù)據(jù)在一臺(tái)設(shè)備上是無(wú)法存儲(chǔ)的,要放到多臺(tái)設(shè)備存儲(chǔ)。
虛擬化技術(shù):上面講到,也就是把CPU、內(nèi)存、硬盤(pán)等空間系統(tǒng)的整合,然后要用的時(shí)候,能夠合理分配給使用者。就好比市民之家的功能,原本各個(gè)行政單位在各個(gè)不同的地點(diǎn),現(xiàn)在我把他們匯總到一起,在一個(gè)地方管理。當(dāng)然市民之家可沒(méi)有虛擬化技術(shù)這么靈活。
堡壘機(jī):也就是用于管理服務(wù)器的服務(wù)器,使用堡壘機(jī),可以監(jiān)控到自己有多少臺(tái)設(shè)備,并且通過(guò)堡壘機(jī)控制權(quán)限,限制用戶登錄到不同的應(yīng)用服務(wù)器上面,可以理解為服務(wù)器的管家。

五、安全設(shè)備
網(wǎng)絡(luò)安全:網(wǎng)絡(luò)安全通常是指禁止、限制某些外網(wǎng)的數(shù)據(jù)發(fā)送到內(nèi)網(wǎng),避免內(nèi)網(wǎng)數(shù)據(jù)被竊?。灰部梢苑乐购樗?、進(jìn)行威脅感知,避免內(nèi)網(wǎng)設(shè)備性能、服務(wù)受到影響。
數(shù)據(jù)安全:驗(yàn)證數(shù)據(jù)發(fā)送者的身份,避免數(shù)據(jù)被篡改,被竊取,被解密。比如銀行的ATM上取了一筆錢(qián),你取的是10000,這個(gè)數(shù)據(jù)不能讓你篡改成100。
IDS(Intrusion Detection Systems)入侵檢測(cè)系統(tǒng):依照一定的安全策略,通過(guò)軟、硬件,對(duì)網(wǎng)絡(luò)、系統(tǒng)的運(yùn)行狀況進(jìn)行監(jiān)視,盡可能發(fā)現(xiàn)各種攻擊企圖、攻擊行為或者攻擊結(jié)果。譬如說(shuō),你在內(nèi)網(wǎng)中嘗試讀取一個(gè)核心數(shù)據(jù)庫(kù)的資料,而資料的傳輸?shù)刂吩贗DS中沒(méi)有備案,那么這個(gè)操作就可能被告警。
IPS(Intrusion Prevention System)入侵防御系統(tǒng):在IDS的基礎(chǔ)上,能夠阻斷某些操作。譬如說(shuō),你在內(nèi)網(wǎng)中嘗試讀取一個(gè)核心數(shù)據(jù)庫(kù)的資料,而資料的傳輸?shù)刂吩贗DS中沒(méi)有備案,那么這個(gè)操作就可能被中斷。
WAF(Web Application Firewall)web應(yīng)用防火墻:與傳統(tǒng)的防火墻相比,擁有更多的安全策略,不僅僅是在網(wǎng)絡(luò)層面進(jìn)行防護(hù),而是從應(yīng)用層面進(jìn)行防護(hù)。主要包括抗洪水攻擊(大量的垃圾訪問(wèn)),URL黑名單,爬蟲(chóng)防護(hù),防止SQL注入等。
威脅感知:這里我理解的是一種數(shù)據(jù)層面的防護(hù),譬如針對(duì)一些釣魚(yú)網(wǎng)站、病毒文件、病毒來(lái)源、威脅的地址進(jìn)行海量記錄,然后評(píng)定危險(xiǎn)的等級(jí),那么就可以及時(shí)感知到可能發(fā)生的風(fēng)險(xiǎn)。(感興趣的朋友可以自行百度)
加密機(jī):在金融、軍隊(duì)、涉及資金的行業(yè)(社保卡、醫(yī)保卡、公交卡等)使用廣泛,主要有兩個(gè)作用,一個(gè)是生成密鑰,一個(gè)是用密鑰進(jìn)行加解密。這是一種硬加密設(shè)備,也就是加解密程序運(yùn)行在加密機(jī)的內(nèi)存中,而不運(yùn)行在任何應(yīng)用服務(wù)器中,以此保護(hù)計(jì)算的安全。另外加密機(jī)擁有物理噪音發(fā)生器設(shè)備,用來(lái)生成隨機(jī)數(shù)。我們通常的軟件都是偽隨機(jī)數(shù),也就是根據(jù)當(dāng)前的時(shí)間參數(shù)通過(guò)固定的算法來(lái)計(jì)算出一個(gè)隨機(jī)數(shù),并不是真正的隨機(jī),而是可以被破解的隨機(jī)。
證書(shū)服務(wù)器:主要用于數(shù)字簽名,數(shù)字證書(shū)等技術(shù)中。譬如我們每個(gè)人以前常用的U盾,每個(gè)U盾里面都有一個(gè)證書(shū),這個(gè)證書(shū)就是有證書(shū)服務(wù)器提供的。證書(shū)可以保障數(shù)據(jù)的安全,主要是防篡改,以及認(rèn)證身份。
六、操作系統(tǒng)
大家熟知的操作系統(tǒng)主要是安卓手機(jī),蘋(píng)果手機(jī),Android是一種操作系統(tǒng),IOS也是一種操作系統(tǒng)。不同的系統(tǒng)具備不同的功能,具有不同的性能,但終歸都是對(duì)CPU、內(nèi)存、硬盤(pán)等設(shè)備的管理。我們常用的電腦系統(tǒng)也就是Windows10 ,MAC OS等。
Linux操作系統(tǒng):相比于win、mac,再圖形化、交互方面要弱化一些,更多的是服務(wù)的概念。比如Windows提供的炫酷的操作頁(yè)面,要耗費(fèi)大量的計(jì)算機(jī)性能來(lái)完成,除了優(yōu)秀的CPU處理器以外,還需要獨(dú)立顯卡等設(shè)備進(jìn)行支持。Linux操作系統(tǒng)主要用于運(yùn)行一些基礎(chǔ)服務(wù),相比而言穩(wěn)定性更強(qiáng),能夠運(yùn)行數(shù)萬(wàn)小時(shí)不用重啟,適用于本平臺(tái)的病毒也要少很多。Centos、redhat、AIX等都成為類UNIX系統(tǒng),原因就是Linux是開(kāi)源的,免費(fèi)的,UNIX是付費(fèi)的產(chǎn)品。
七、操作系統(tǒng)的里面

1、最底層的是硬件管理,也就是cpu、內(nèi)存、硬盤(pán)、IO等控制程序。
2、I/O模塊,也就是一套鏈接計(jì)算機(jī)高級(jí)程序與硬件設(shè)備的接口,通過(guò)這個(gè)模塊,計(jì)算機(jī)就可以控制內(nèi)存的讀出,CPU資源的分配等。
3、進(jìn)程管理,每個(gè)程序都是由一個(gè)或多個(gè)進(jìn)程執(zhí)行,各個(gè)進(jìn)程去調(diào)用計(jì)算機(jī)資源完成任務(wù)。比如你撥打電話就是一個(gè)進(jìn)程,調(diào)用了手機(jī)的撥號(hào)功能,通過(guò)SIM卡訪問(wèn)電話網(wǎng)絡(luò),想電信公司的服務(wù)器發(fā)送撥打電話的請(qǐng)求。
4、函數(shù)庫(kù),操作系統(tǒng)提供一套通用的功能,通過(guò)這套函數(shù)庫(kù),應(yīng)用程序可以適用計(jì)算機(jī)的更多資源,比如讀取內(nèi)存,讀寫(xiě)文件等等。
5、shell,也就是操作終端程序,通過(guò)這個(gè)程序,人類輸入命令,計(jì)算機(jī)能夠識(shí)別,并且能夠完成任務(wù)。類似于Windows里面的CMD,你輸入shutdown -s -t,就執(zhí)行了一個(gè)關(guān)機(jī)的命令。
八、數(shù)據(jù)庫(kù)
1、數(shù)據(jù)庫(kù)的來(lái)源:最早沒(méi)有數(shù)據(jù)庫(kù)的時(shí)候,文件都是存在計(jì)算機(jī)的文件系統(tǒng)里面,比如寫(xiě)在一個(gè)txt文檔里面。但是你的數(shù)據(jù)量過(guò)大,達(dá)到數(shù)萬(wàn)、數(shù)百萬(wàn)、上億的時(shí)候,操作系統(tǒng)基礎(chǔ)的文件系統(tǒng)無(wú)法支持這樣的性能。你要在上億個(gè)名字中查找一個(gè)名字,就會(huì)變得非常困難,甚至導(dǎo)致系統(tǒng)崩潰。這個(gè)時(shí)候就出現(xiàn)了數(shù)據(jù)庫(kù),它能夠提供更豐富的增刪改查服務(wù),能夠提供存儲(chǔ)海量的數(shù)據(jù),高性能的搜索。
2、關(guān)系型數(shù)據(jù)庫(kù):關(guān)系型數(shù)據(jù)庫(kù)通過(guò)外鍵關(guān)聯(lián)來(lái)建立表與表之間的關(guān)系,也就是說(shuō)一個(gè)學(xué)生表和一個(gè)班級(jí)表,都會(huì)存班級(jí)這個(gè)屬性,這個(gè)屬性是兩個(gè)表的共有參數(shù),并且能夠通過(guò)這個(gè)參數(shù)將兩個(gè)表關(guān)聯(lián)起來(lái)。關(guān)系型數(shù)據(jù)庫(kù)的查詢、檢索性能面對(duì)海量數(shù)據(jù)也無(wú)法有效支撐,因此誕生了非關(guān)系型數(shù)據(jù)庫(kù)。
3.非關(guān)系型數(shù)據(jù)庫(kù)通常指數(shù)據(jù)以對(duì)象的形式存儲(chǔ)在數(shù)據(jù)庫(kù)中,而對(duì)象之間的關(guān)系通過(guò)每個(gè)對(duì)象自身的屬性來(lái)決定。非關(guān)系型數(shù)據(jù)庫(kù)通常擁有更強(qiáng)大的檢索性能,目前的存儲(chǔ)架構(gòu)通常是用關(guān)系型數(shù)據(jù)庫(kù)存數(shù)據(jù),用非關(guān)系型數(shù)據(jù)庫(kù)去檢索,數(shù)據(jù)至少是存兩份。
4、大數(shù)據(jù):采用新的技術(shù)來(lái)處理海量的數(shù)據(jù),主要數(shù)據(jù)存儲(chǔ),數(shù)據(jù)分析,數(shù)據(jù)可視化,以及算法優(yōu)化??梢岳斫鉃樵跀?shù)據(jù)庫(kù)的基礎(chǔ)上的應(yīng)用擴(kuò)張。
九、中間件
中間件(Middleware)通常是指在一個(gè)大型分布式的系統(tǒng)中,負(fù)責(zé)各個(gè)不同組件(Component)/服務(wù)(Service)之間管理以及交互數(shù)據(jù)的。舉個(gè)例子,在分布式系統(tǒng)中,數(shù)據(jù)庫(kù)往往是N多個(gè),不同的數(shù)據(jù)庫(kù)可能是按照數(shù)據(jù)ID的hash,也可能根據(jù)業(yè)務(wù)模塊來(lái)分配的。而且這種分配可能隨著數(shù)據(jù)增長(zhǎng)或者業(yè)務(wù)變更而改變。這個(gè)時(shí)候,你想修改某條數(shù)據(jù),顯然就不太可能直接訪問(wèn)數(shù)據(jù)庫(kù)了,而是需要訪問(wèn)數(shù)據(jù)訪問(wèn)層,由它來(lái)負(fù)責(zé)對(duì)最終的數(shù)據(jù)庫(kù)的讀寫(xiě),乃至負(fù)責(zé)多個(gè)數(shù)據(jù)庫(kù)之間的事務(wù)一致性。

十、服務(wù)與后臺(tái)系統(tǒng)
1、服務(wù)的概念,就是運(yùn)行在服務(wù)器上的程序,這些程序提供特定的功能。比如計(jì)算機(jī)里面的一些基礎(chǔ)服務(wù),有存儲(chǔ)服務(wù),網(wǎng)絡(luò)服務(wù),管理線程的服務(wù),可以理解為不同的功能。系統(tǒng)的功能,就是一個(gè)操作系統(tǒng)。
2、微信案例:小紅要給小明發(fā)送你好,這個(gè)你好這個(gè)數(shù)據(jù)就會(huì)先發(fā)送到服務(wù)器上,服務(wù)器接受發(fā)送的信息+發(fā)送人,然后把消息傳給特定的人。并不是你的消息直接就發(fā)送到對(duì)方了。

3、常用應(yīng)用后臺(tái)系統(tǒng)簡(jiǎn)介:
A.用戶系統(tǒng),存下用戶的賬號(hào)、密碼,登錄的時(shí)候校驗(yàn)用戶的賬號(hào)、密碼;注銷的時(shí)候注銷特定的賬戶;
B.訂單系統(tǒng),比如用支付寶完成一筆交易,就有一筆訂單,訂單系統(tǒng)記錄訂單,查詢訂單,跟蹤訂單處理狀況;
C.商城,例如淘寶官網(wǎng),可以提供商品的上下架,修改價(jià)格,商品售賣等服務(wù);
D.ERP,企業(yè)資源管理系統(tǒng),通常會(huì)提供財(cái)務(wù)模塊給財(cái)務(wù)人員使用,行政模塊給行政使用,銷售模塊給銷售使用,質(zhì)量模塊給質(zhì)量保障部門(mén)使用等等。
E.監(jiān)控系統(tǒng),通常指的是硬件設(shè)備監(jiān)控,比如ATM機(jī)監(jiān)控,機(jī)房?jī)?nèi)的服務(wù)器運(yùn)行狀態(tài)監(jiān)控,車載POS設(shè)備監(jiān)控等等。
事實(shí)上,只要有需求,就可以開(kāi)發(fā)相應(yīng)的系統(tǒng)以供使用,以上所述是常用的系統(tǒng)。
十一、開(kāi)發(fā)語(yǔ)言
開(kāi)發(fā)語(yǔ)言通常指的是一種高級(jí)語(yǔ)言,人類通過(guò)高級(jí)語(yǔ)言編寫(xiě)程序,相應(yīng)的編譯軟件將高級(jí)語(yǔ)言翻譯成計(jì)算機(jī)能夠識(shí)別的二級(jí)制數(shù)據(jù)信號(hào),就可以運(yùn)行了。編譯,其實(shí)就是一個(gè)翻譯過(guò)程,將人類語(yǔ)言翻譯成計(jì)算機(jī)語(yǔ)言。因?yàn)殡娦盘?hào)只有2種,一種是有電,一種是沒(méi)電,通過(guò)這個(gè)最基礎(chǔ)的信息構(gòu)建了我們今天繁華的網(wǎng)絡(luò)世界。