大型網(wǎng)站服務(wù)器架構(gòu)需要哪些服務(wù)器?
網(wǎng)絡(luò)是生活在互聯(lián)網(wǎng)世界的我們形影不離的存在,新浪微博、今日頭條、搜狐新聞、騰訊視頻、微信QQ等我們常常訪問的大型網(wǎng)站的網(wǎng)站服務(wù)器架構(gòu)需要哪些服務(wù)器呢?
1、Web服務(wù)器
Web服務(wù)器主要是為訪客提供http訪問或是加密https訪問的服務(wù)器,所接觸到的網(wǎng)頁就是直接從Web服務(wù)器中發(fā)送出來的,處于網(wǎng)站服務(wù)器的最前端。在windows服務(wù)器系統(tǒng)上常使用的是IIS,在unix和Linux服務(wù)器系統(tǒng)上常使用的是Apache、Nginx。
2、應(yīng)用程序服務(wù)器
應(yīng)用程序服務(wù)器是作為服務(wù)器執(zhí)行共享業(yè)務(wù)應(yīng)用程序的底層的系統(tǒng)軟件服務(wù)器,所訪問的app請求就是在應(yīng)用服務(wù)器中處理的。在應(yīng)用程序服務(wù)器上運行著各式的業(yè)務(wù)邏輯,主要是是EJB、 JNDI和JMX API等J2EE API方面的,還包含事務(wù)處理、業(yè)務(wù)邏輯管理、數(shù)據(jù)庫連接等功能。
3、數(shù)據(jù)庫服務(wù)器
運行在局域網(wǎng)中的一臺或多臺計算機(jī)和數(shù)據(jù)庫管理系統(tǒng)軟件共同構(gòu)成了數(shù)據(jù)庫服務(wù)器,數(shù)據(jù)庫服務(wù)器為客戶應(yīng)用提供服務(wù),這些服務(wù)是查詢、更新、事務(wù)管理、索引、高速緩存、查詢優(yōu)化、安全及多用戶存取控制等。
4、代理服務(wù)器
代理服務(wù)器通常是客戶端訪問的一種行為。它雖然不屬于網(wǎng)站部署中的環(huán)境,但在整體的客戶端訪問中,它卻是一個重要環(huán)節(jié)的服務(wù)器。
5、反向代理服務(wù)器
與代理服務(wù)器相對,還有一個反向代理服務(wù)器,其功能是Web服務(wù)器的功能。但是從它這里拿到的網(wǎng)頁不是最原始產(chǎn)生頁面的"產(chǎn)生地",而是由它從頁面的"產(chǎn)生地"取回頁面后的一個緩存。代理服務(wù)器中緩存的內(nèi)容通常是由某些用戶訪問某個頁面而產(chǎn)生訪問請求后,在客戶端代理服務(wù)器上留下的緩存;而反向代理服務(wù)器上緩存的頁面,不是由于某些用戶訪問某個頁面后留下的緩存,卻是根據(jù)網(wǎng)站運維的策略定期、定時地生成一些后臺服務(wù)器的頁面緩存。
代理服務(wù)器與反向代理服務(wù)器的區(qū)別:代理服務(wù)器是工作在客戶端,反向代理服務(wù)器時工作在服務(wù)器端,Nginx服務(wù)器常被用作于反向代理服務(wù)器。
6、 后臺服務(wù)器
后臺服務(wù)器只是一個說法而已,這是根據(jù)它的工作特點來說的,換句話說是沒有直接提供給客戶訪問。例如眾多的FastCGI服務(wù)器,它們都工作在后臺,HTTP協(xié)議卻無法訪問到它們,另一種情況,如果我們從前是通過使用Apache作為Web服務(wù)器提供HTTP訪問的,現(xiàn)在被Nginx反向代理了,是說由Nginx直接面對客戶訪問,而將請求再轉(zhuǎn)到Apache服務(wù)器,那么這里的Apache服務(wù)器已經(jīng)成為后臺服務(wù)器了。
7、CDN緩存服務(wù)器
正如其名字,它是緩存服務(wù)器的角色,而且是反向代理的應(yīng)用,在網(wǎng)站部署中,它算是一種部署策略,即對于遠(yuǎn)距離訪問的解決方案,為了解決時間產(chǎn)生距離、時間縮短距離而產(chǎn)生的,它是反向代理的另一種應(yīng)用。
8、負(fù)載均衡服務(wù)器
負(fù)載均衡服務(wù)器主要作用是實現(xiàn)某些類型服務(wù)器的規(guī)模擴(kuò)展。比如對于系統(tǒng)前端的web服務(wù)器和后端的數(shù)據(jù)庫服務(wù)器,想通過加服務(wù)器實現(xiàn)N+1橫向擴(kuò)展,通過多臺服務(wù)器負(fù)載分擔(dān)壓力,負(fù)載均衡必不可少。
9、消息隊列服務(wù)器
隊列是系統(tǒng)解耦利器,也是大中型分布式系統(tǒng)標(biāo)配,沒有隊列,業(yè)務(wù)系統(tǒng)很容易高度耦合,系統(tǒng)吞吐量也會很快遭遇瓶頸。
10、文件服務(wù)器
分布式文件系統(tǒng),專門用于存儲業(yè)務(wù)系統(tǒng)需要的各種文件如圖片、多媒體文件等。
11、索引服務(wù)器
用于網(wǎng)站全文索引,搜索必備。對內(nèi)存和CPU要求較高,大型網(wǎng)站,通常還需要支持主從備份和容錯,甚至多實例索引集群。
12、搜索服務(wù)器
通常需要部署多臺,否則查詢多了性能撐不住,對內(nèi)存要求不高。有的中小型站點,索引和搜索服務(wù)器在物理和邏輯上都是同一臺服務(wù)器。
13、作業(yè)服務(wù)器
主要用于后端應(yīng)用程序大批量大數(shù)據(jù)量復(fù)雜業(yè)務(wù)邏輯的定時作業(yè),大多數(shù)互聯(lián)網(wǎng)公司標(biāo)配,某些企業(yè)的定時調(diào)度框架是直接部署在web服務(wù)器上的,可以減少這里的所謂作業(yè)服務(wù)器。
14、nosql服務(wù)器
海量數(shù)據(jù)處理的興起,各種nosql產(chǎn)品層出不窮,nosql服務(wù)器主要用于處理海量數(shù)據(jù),支持存儲、查詢、分片等。
web應(yīng)用中,有兩個一直是不好實現(xiàn)橫向擴(kuò)展或者由于歷史遺留問題實現(xiàn)代價非常大的東西,如你所知,就是:A、數(shù)據(jù)庫 B、網(wǎng)絡(luò)帶寬。
而某些nosql的出現(xiàn)很可能解決這個歷史遺留難題,現(xiàn)在已經(jīng)有nosql產(chǎn)品彌補了關(guān)系型數(shù)據(jù)庫天生不支持橫向擴(kuò)展的缺點,在特定場景下正在替代關(guān)系型數(shù)據(jù)庫。
15、其他
需求不斷變化和應(yīng)用需要,某些互聯(lián)網(wǎng)企業(yè)還可能衍生出基于安全的授權(quán)/證書服務(wù)器,全局***的流水號服務(wù)器,會話服務(wù)器等等。
大型網(wǎng)站面對著高負(fù)載、高并發(fā)的要求,對網(wǎng)站服務(wù)器的架構(gòu)更為苛刻,天下數(shù)據(jù)建議架構(gòu)Web服務(wù)器、應(yīng)用程序服務(wù)器、代理服務(wù)器、反向代理服務(wù)器、后臺服務(wù)器、CDN緩存服務(wù)器等類型的服務(wù)器來應(yīng)對需求。
原文地址:https://mp.weixin.qq.com/s/QnSOgvy7HufRaYWOafjLxg
版權(quán)聲明:
本站所有文章和圖片均來自用戶分享和網(wǎng)絡(luò)收集,文章和圖片版權(quán)歸原作者及原出處所有,僅供學(xué)習(xí)與參考,請勿用于商業(yè)用途,如果損害了您的權(quán)利,請聯(lián)系網(wǎng)站客服處理。