整理大型网站架构必知必会的几个服务器知识
1、負(fù)載均衡服務(wù)器
負(fù)載均衡服務(wù)器主要作用是實(shí)現(xiàn)某些類型服務(wù)器的規(guī)模擴(kuò)展。比如對于系統(tǒng)前端的web服務(wù)器和后端的數(shù)據(jù)庫服務(wù)器,想通過加服務(wù)器實(shí)現(xiàn)N+1橫向擴(kuò)展,通過多臺(tái)服務(wù)器負(fù)載分擔(dān)壓力,負(fù)載均衡必不可少。
?
2、web服務(wù)器
最常見,內(nèi)存要求不是很高但cpu要求較高,主要用于部署各種web應(yīng)用,如帶界面的web頁面、不帶界面的web服務(wù)、wcf等等。
?
3、緩存服務(wù)器
大中型網(wǎng)站,分布式緩存已是標(biāo)配,緩存服務(wù)器專門用于部署分布式緩存,一般而言對內(nèi)存和帶寬要求較高。
?
4、消息隊(duì)列服務(wù)器
隊(duì)列是系統(tǒng)解耦利器,也是大中型分布式系統(tǒng)標(biāo)配,沒有隊(duì)列,業(yè)務(wù)系統(tǒng)很容易高度耦合,系統(tǒng)吞吐量也會(huì)很快遭遇瓶頸。
?
5、文件服務(wù)器
分布式文件系統(tǒng),專門用于存儲(chǔ)業(yè)務(wù)系統(tǒng)需要的各種文件如圖片、多媒體文件等。
?
6、索引服務(wù)器
用于網(wǎng)站全文索引,搜索必備。對內(nèi)存和CPU要求較高,大型網(wǎng)站,通常還需要支持主從備份和容錯(cuò),甚至多實(shí)例索引集群。
?
7、搜索服務(wù)器
通常需要部署多臺(tái),否則查詢多了性能撐不住,對內(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ù)庫服務(wù)器
主要用于存儲(chǔ)和查詢數(shù)據(jù)。數(shù)據(jù)庫已是各種系統(tǒng)實(shí)際上的標(biāo)配,內(nèi)存和CPU都要求極高,網(wǎng)絡(luò)和硬件要求也不低。大中型網(wǎng)站還需要支持?jǐn)?shù)據(jù)庫的主從備份和容錯(cuò),甚至多實(shí)例的數(shù)據(jù)庫集群。
通常,大中型的互聯(lián)網(wǎng)應(yīng)用會(huì)經(jīng)歷一個(gè)從單一的數(shù)據(jù)庫服務(wù)器,到Master/Slave主從服務(wù)器,再到垂直分區(qū)(分庫),然后再到水平分區(qū)(分表,sharding)的過程。而在這個(gè)過程中,Master/Slave以及分庫相對比較容易,對應(yīng)用的影響也不是很大,但是分表會(huì)引起一些棘手的問題,比如不能跨越多個(gè)分區(qū)join查詢數(shù)據(jù),如何實(shí)現(xiàn)DB負(fù)載等等,這個(gè)時(shí)候就需要一個(gè)通用的DAL框架來屏蔽底層數(shù)據(jù)存儲(chǔ)對業(yè)務(wù)邏輯的影響,使得底層數(shù)據(jù)的訪問對應(yīng)用完全透明化。
?
10、nosql服務(wù)器
海量數(shù)據(jù)處理的興起,各種nosql產(chǎn)品層出不窮,nosql服務(wù)器主要用于處理海量數(shù)據(jù),支持存儲(chǔ)、查詢、分片等。
web應(yīng)用中,有兩個(gè)一直是不好實(shí)現(xiàn)橫向擴(kuò)展或者由于歷史遺留問題實(shí)現(xiàn)代價(jià)非常大的東西,如你所知,就是:A、數(shù)據(jù)庫? B、網(wǎng)絡(luò)帶寬。
而某些nosql的出現(xiàn)很可能解決這個(gè)歷史遺留難題,現(xiàn)在已經(jīng)有nosql產(chǎn)品彌補(bǔ)了關(guān)系型數(shù)據(jù)庫天生不支持橫向擴(kuò)展的缺點(diǎn),在特定場景下正在替代關(guān)系型數(shù)據(jù)庫。
?
11、其他
需求不斷變化和應(yīng)用需要,某些互聯(lián)網(wǎng)企業(yè)還可能衍生出基于安全的授權(quán)/證書服務(wù)器,全局唯一的流水號(hào)服務(wù)器,會(huì)話服務(wù)器等等。
?
參考:
<<大型網(wǎng)站技術(shù)架構(gòu)>>
<<構(gòu)建高性能web站點(diǎn)>>
http://www.cnblogs.com/terryli/archive/2008/04/06/1139121.html
http://www.cnblogs.com/ejiyuan/archive/2010/10/29/1796292.html
http://kb.cnblogs.com/page/99549/
http://highscalability.com/blog/2014/7/21/stackoverflow-update-560m-pageviews-a-month-25-servers-and-i.html
http://www.infoq.com/articles/perera-data-storage-haystack
http://lethain.com/introduction-to-architecting-systems-for-scale/
轉(zhuǎn)載于:https://blog.51cto.com/fccwcom/1582126
總結(jié)
以上是生活随笔為你收集整理的整理大型网站架构必知必会的几个服务器知识的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Eclipse安装hibernate插件
- 下一篇: centos下安装nginx