大型網(wǎng)站架構(gòu)必知必會(huì)的幾個(gè)高防服務(wù)器知識(shí)
1、負(fù)載均衡服務(wù)器
負(fù)載均衡服務(wù)器主要作用是實(shí)現(xiàn)某些類型服務(wù)器的規(guī)模擴(kuò)展。比如對(duì)于系統(tǒng)前端的web服務(wù)器和后端的數(shù)據(jù)庫(kù)服務(wù)器,想通過(guò)加服務(wù)器實(shí)現(xiàn)N+1橫向擴(kuò)展,通過(guò)多臺(tái)服務(wù)器負(fù)載分擔(dān)壓力,負(fù)載均衡必不可少。
2、web服務(wù)器
最常見(jiàn),內(nèi)存要求不是很高但cpu要求較高,主要用于部署各種web應(yīng)用,如帶界面的web頁(yè)面、不帶界面的web服務(wù)、wcf等等。
3、緩存服務(wù)器
大中型網(wǎng)站,分布式緩存已是標(biāo)配,緩存服務(wù)器專門用于部署分布式緩存,一般而言對(duì)內(nèi)存和帶寬要求較高。
4、消息隊(duì)列服務(wù)器
隊(duì)列是系統(tǒng)解耦利器,也是大中型分布式系統(tǒng)標(biāo)配,沒(méi)有隊(duì)列,業(yè)務(wù)系統(tǒng)很容易高度耦合,系統(tǒng)吞吐量也會(huì)很快遭遇瓶頸。
5、文件服務(wù)器
分布式文件系統(tǒng),專門用于存儲(chǔ)業(yè)務(wù)系統(tǒng)需要的各種文件如圖片、多媒體文件等。
6、索引服務(wù)器
用于網(wǎng)站全文索引,搜索必備。對(duì)內(nèi)存和CPU要求較高,大型網(wǎng)站,通常還需要支持主從備份和容錯(cuò),甚至多實(shí)例索引集群。
7、搜索服務(wù)器
通常需要部署多臺(tái),否則查詢多了性能撐不住,對(duì)內(nèi)存要求不高。有的中小型站點(diǎn),索引和搜索服務(wù)器在物理和邏輯上都是同一臺(tái)服務(wù)器。
8、作業(yè)服務(wù)器
主要用于后端應(yīng)用程序大批量大數(shù)據(jù)量復(fù)雜業(yè)務(wù)邏輯的定時(shí)作業(yè),大多數(shù)互聯(lián)網(wǎng)公司標(biāo)配,某些企業(yè)的定時(shí)調(diào)度框架是直接部署在web服務(wù)器上的,可以減少這里的所謂作業(yè)服務(wù)器。
9、數(shù)據(jù)庫(kù)服務(wù)器
主要用于存儲(chǔ)和查詢數(shù)據(jù)。數(shù)據(jù)庫(kù)已是各種系統(tǒng)實(shí)際上的標(biāo)配,內(nèi)存和CPU都要求極高,網(wǎng)絡(luò)和硬件要求也不低。大中型網(wǎng)站還需要支持?jǐn)?shù)據(jù)庫(kù)的主從備份和容錯(cuò),甚至多實(shí)例的數(shù)據(jù)庫(kù)集群。
通常,大中型的互聯(lián)網(wǎng)應(yīng)用會(huì)經(jīng)歷一個(gè)從單一的數(shù)據(jù)庫(kù)服務(wù)器,到Master/Slave主從服務(wù)器,再到垂直分區(qū)(分庫(kù)),然后再到水平分區(qū)(分表,sharding)的過(guò)程。而在這個(gè)過(guò)程中,Master/Slave以及分庫(kù)相對(duì)比較容易,對(duì)應(yīng)用的影響也不是很大,但是分表會(huì)引起一些棘手的問(wèn)題,比如不能跨越多個(gè)分區(qū)join查詢數(shù)據(jù),如何實(shí)現(xiàn)DB負(fù)載等等,這個(gè)時(shí)候就需要一個(gè)通用的DAL框架來(lái)屏蔽底層數(shù)據(jù)存儲(chǔ)對(duì)業(yè)務(wù)邏輯的影響,使得底層數(shù)據(jù)的訪問(wèn)對(duì)應(yīng)用完全透明化。
10、nosql服務(wù)器
海量數(shù)據(jù)處理的興起,各種nosql產(chǎn)品層出不窮,nosql服務(wù)器主要用于處理海量數(shù)據(jù),支持存儲(chǔ)、查詢、分片等。
web應(yīng)用中,有兩個(gè)一直是不好實(shí)現(xiàn)橫向擴(kuò)展或者由于歷史遺留問(wèn)題實(shí)現(xiàn)代價(jià)非常大的東西,如你所知,就是:A、數(shù)據(jù)庫(kù) B、網(wǎng)絡(luò)帶寬。
而某些nosql的出現(xiàn)很可能解決這個(gè)歷史遺留難題,現(xiàn)在已經(jīng)有nosql產(chǎn)品彌補(bǔ)了關(guān)系型數(shù)據(jù)庫(kù)天生不支持橫向擴(kuò)展的缺點(diǎn),在特定場(chǎng)景下正在替代關(guān)系型數(shù)據(jù)庫(kù)。
11、其他
需求不斷變化和應(yīng)用需要,某些互聯(lián)網(wǎng)企業(yè)還可能衍生出基于安全的授權(quán)/證書服務(wù)器,全局唯一的流水號(hào)服務(wù)器,會(huì)話服務(wù)器等等。