如何保證服務(wù)器可以支持百萬用戶訪問?服務(wù)器品牌有哪些?如何選購服務(wù)器?對于這些問題,今天我們就一起來看下關(guān)于服務(wù)器的相關(guān)知識。
假如你開發(fā)了一個(gè)網(wǎng)站或者一個(gè)app把他放到服務(wù)器上,之后你把它發(fā)布到了網(wǎng)上,運(yùn)行良好,每天有幾百人的訪問量,用戶量不大,能快速地響應(yīng)用戶的請求。
但是隨著你的運(yùn)營,你的網(wǎng)站或app出名了,服務(wù)每天要承擔(dān)著成千上萬的人來訪問,這個(gè)時(shí)候?qū)δ銇碇v,這是個(gè)好消息,但是對你的服務(wù)器來說這是個(gè)壞消息,因?yàn)樗兊寐?,用戶多了,打開速度就慢了,服務(wù)器就很卡,所以它需要擴(kuò)展了,你的服務(wù)器需要為成千上萬的用戶提供 7*24 不宕機(jī)服務(wù),那么如何擴(kuò)展,才能保持服務(wù)器不宕機(jī)呢?
一、服務(wù)器如何才能保證成千上萬的人訪問呢?
1、引入負(fù)載均衡器
負(fù)載均衡器的使用使得我們可以在多個(gè)服務(wù)器之間分配負(fù)載。
例如:
想象下有一萬個(gè)用戶在一分鐘內(nèi)來訪問你的服務(wù)器。
遺憾的是,你的服務(wù)器在一分鐘內(nèi)只能保證5千個(gè)用戶的流暢訪問。這怎么辦呢?同時(shí)運(yùn)行兩個(gè)服務(wù)器就行了,就是增加了服務(wù)器來分配負(fù)載。
負(fù)載均衡器的功能就是把訪問請求分發(fā)到兩臺服務(wù)器上。用戶 1 往左,用戶 2 往右,用戶 3 再往左。。。以此類推。
如果一次有 100萬個(gè)用戶同時(shí)訪問服務(wù)器,這該怎么解決呢?確切地說,你可以擴(kuò)展到200臺付款服務(wù)器,之后讓負(fù)載均衡器分發(fā)請求到這200服務(wù)器上。
2、擴(kuò)展數(shù)據(jù)庫
雖然我們上面提到,關(guān)于大量的用戶,我們可以用成百上千臺服務(wù)器處理請求,但是他們都是用同一個(gè)數(shù)據(jù)庫存儲和檢索數(shù)據(jù)。
那么,我們不能以同樣的方式來擴(kuò)展數(shù)據(jù)庫嗎?稍有不同。
我們需要做的第一件事是把數(shù)據(jù)庫分成多個(gè)部分。一部分專門負(fù)責(zé)接收并存儲數(shù)據(jù),其他部分負(fù)責(zé)檢索數(shù)據(jù)。
3、緩存和內(nèi)容分發(fā)網(wǎng)絡(luò)(CDN)
有什么方式能使服務(wù)更高效?
我們使用緩存而不是對每個(gè)請求都重新處理,緩存用于記住最后一次的結(jié)果并交由其他服務(wù)或者客戶端,這樣就不用每次都請求后端服務(wù)了。
緩存的加強(qiáng)版叫內(nèi)容分發(fā)網(wǎng)絡(luò)(CDN),遍布全球的大量緩存。將這些緩存服務(wù)器分布到用戶訪問相對集中的地區(qū)或網(wǎng)絡(luò)中,在用戶訪問網(wǎng)站時(shí),利用全局負(fù)載技術(shù)將用戶的訪問指向距離最近的工作正常的緩存服務(wù)器上,由緩存服務(wù)器直接響應(yīng)用戶請求。
這使得用戶可以從物理上靠近他們的地方來獲取網(wǎng)頁內(nèi)容,而不是每次都把數(shù)據(jù)從源頭搬到用戶那里。
4、分片處理
分片究竟是什么意思呢?其實(shí)也很簡單:Facebook 上需要為 20 億用戶提供個(gè)人資料, 可以把你的應(yīng)用架構(gòu)分解為 26 個(gè) mini-Facebook。
用戶名如果以 A 開頭,會被 mini-facebook A服務(wù)器 處理, 用戶名如果以 B 開頭,會被 mini-facebook B服務(wù)器 來處理……
分片不一定按字母順序,根據(jù)業(yè)務(wù)需要,你可以基于任何數(shù)量的因素,比如位置、使用頻率(特權(quán)用戶被路由到好的硬件)等等。你可以根據(jù)需要以這種方式切分服務(wù)器、數(shù)據(jù)庫或其他方面。
二、服務(wù)器品牌
服務(wù)器的品牌非常多,應(yīng)用在各個(gè)領(lǐng)域中,我們來看下服務(wù)器用的多品牌有哪些。
不止這些,還有中興、清華同方、富士通、??档鹊?,也是大家用的多的品牌。
三、服務(wù)器選購主要參數(shù)有哪些?
1、帶寬:服務(wù)器5M帶寬在線多少人?
我這里詳細(xì)的給你介紹下,帶寬和同時(shí)在線人數(shù)的計(jì)算,也方便后面有想了解的朋友在你這個(gè)提問上尋找答案。
首先,服務(wù)器帶寬說的5M帶寬,實(shí)際上是5Mbps/=625KB,需要是獨(dú)享帶寬,共享的話因?yàn)樗说囊蛩責(zé)o法計(jì)算。
然后計(jì)算你的網(wǎng)站大小,普通大小的網(wǎng)站頁面(圖片少,壓縮過,代碼優(yōu)化)只有幾K,我們姑且按照50K計(jì)算。
所以 625kb/50k=12.5人,大概同時(shí)在線12.5人訪問這個(gè)50KB的頁面是沒有問題的。
要值得注意,這個(gè)是同時(shí),也就是傳統(tǒng)意義上的同一秒,只要有先后發(fā)送請求的順序就可以錯(cuò)開,所以5M帶寬嚴(yán)格意義上是很大的,如果你的頁面小,幾乎可以滿足千人在線,因?yàn)榇蟛糠值娜硕际屈c(diǎn)擊后瀏覽頁面的,不會說一直給你發(fā)送請求。
2、CPU
中央處理器(CPU,Central Processing Unit)是是一臺計(jì)算機(jī)的運(yùn)算核心和控制核心。
計(jì)算機(jī)的性能在很大程度上由CPU的性能決定,而CPU的性能主要體現(xiàn)在其運(yùn)行程序的速度上。影響運(yùn)行速度的性能指標(biāo)包括CPU的工作頻率、Cache容量、指令系統(tǒng)和邏輯結(jié)構(gòu)等參數(shù)。
主頻:主頻也叫時(shí)鐘頻率,單位是兆赫(MHz)或千兆赫(GHz),用來表示CPU的運(yùn)算、處理數(shù)據(jù)的速度。通常,主頻越高,CPU處理數(shù)據(jù)的速度就越快;
緩存(Cache):實(shí)際工作時(shí),CPU往往需要重復(fù)讀取同樣的數(shù)據(jù)塊,而緩存容量的增大,可以大幅度提升CPU內(nèi)部讀取數(shù)據(jù)的命中率,而不用再到內(nèi)存或者硬盤上尋找,以此提高系統(tǒng)性能。但是由于CPU芯片面積和成本的因素來考慮,緩存都很??;
核心數(shù):般情況下每個(gè)核心都有一個(gè)線程,幾核心就有幾線程,但是intel發(fā)明了超線程技術(shù),可以讓單核模擬多核心工作,intel的超線程可以讓單核心具有兩個(gè)線程,雙核四線程 ;
線程數(shù) :線程數(shù)多當(dāng)然速度就快,但功耗就大 ,從英特爾品牌來看,主要有酷睿、至強(qiáng)、奔騰、凌動(dòng)、賽揚(yáng)、安騰和應(yīng)用在物聯(lián)網(wǎng)領(lǐng)域的幾大品類。PC多以酷睿系列為主,至強(qiáng)則是服務(wù)器級處理器的唯一選擇。在真實(shí)的場景中,確實(shí)有玩家將至強(qiáng)E3處理器應(yīng)用在PC之上,這主要是因?yàn)榉?wù)器級CPU會比一般PC能支持更大的緩存和多處理(安裝了多個(gè)物理CPU)。
3、芯片組
這里說的芯片組,是X86系統(tǒng)獨(dú)有的,一般RISC處理器都是SoC,芯片即為系統(tǒng);X86比較獨(dú)特,以前是由CPU、南橋、北橋組成一個(gè)系統(tǒng),現(xiàn)在是由CPU+PCH形成一個(gè)系統(tǒng)。因?yàn)?a target="_blank">接口和總線太多,太復(fù)雜,又由于X86系統(tǒng)一直傳承著繼承性,兼容性等特點(diǎn),所以多個(gè)處理器可以匹配不同主板,同一個(gè)主板可以適配多種處理器,所以這樣做了功能拆分。
4、內(nèi)存
服務(wù)器采用專用的ECC校驗(yàn)內(nèi)存,并且應(yīng)當(dāng)與不同的CPU搭配使用。通常情況下,內(nèi)存數(shù)量越大,服務(wù)器的性能越高。特別是對于數(shù)據(jù)庫服務(wù)、代理服務(wù)、Web服務(wù)等網(wǎng)絡(luò)服務(wù)而言,內(nèi)存數(shù)量顯得尤其重要。通常情況下,入門級服務(wù)器的內(nèi)存不應(yīng)該小于2GB,工作組級的內(nèi)存不小于4GB,部門級的內(nèi)存不小于8GB。
5、硬盤
SATA:Serial ATA接口,即串行ATA,采用串行技術(shù)以獲得更高的傳輸速度及可靠性。目前是第二代即SATAII。
SCSI:全稱為“SmallComputer System Interface”(小型計(jì)算機(jī)系統(tǒng)接口),具有應(yīng)用范圍廣、多任務(wù)、帶寬大、CPU占用率低,以及熱插拔等優(yōu)點(diǎn),主要應(yīng)用于中、高端服務(wù)器和高檔工作站
SAS:Serial Attached SCSI接口,即串行SCSI, 采用串行技術(shù)以獲得更高的傳輸速度。目前仍然是第一代
SSD:固態(tài)存儲硬盤(Solid State Disk)其特別之處在于沒有機(jī)械結(jié)構(gòu),以區(qū)塊寫入和抹除的方式作讀寫的功能,與目前的傳統(tǒng)硬盤相較,具有低耗電、耐震、穩(wěn)定性高、耐低溫等優(yōu)點(diǎn)。
另外,為了擴(kuò)充數(shù)據(jù)存儲空間,保證數(shù)據(jù)存儲的安全性,成倍提高數(shù)據(jù)讀取速度,部門級和企業(yè)級服務(wù)器還往往采用SAS RAID卡,將若干硬盤組建為磁盤陣列。入門級服務(wù)器可采用廉價(jià)的SATA RAID卡,以實(shí)現(xiàn)相似的功能。
6、網(wǎng)卡
既然服務(wù)器要為網(wǎng)絡(luò)中其他計(jì)算機(jī)提供服務(wù),自然就要實(shí)現(xiàn)與其他計(jì)算機(jī)之間的通訊。即使服務(wù)器的處理能力很高,如果無法快速響應(yīng)客戶端的請求,那么,就會給網(wǎng)絡(luò)傳輸造成瓶頸。因此,服務(wù)器應(yīng)當(dāng)連接在傳輸速率最快的端口上,并最少配置一塊千兆網(wǎng)卡。對于某些有特殊應(yīng)用的服務(wù)器(如FTP服務(wù)器、文件服務(wù)器或視頻點(diǎn)播服務(wù)器),還應(yīng)當(dāng)配置兩塊千兆網(wǎng)卡。需要注意的是,千兆網(wǎng)卡通常需要安裝在64位PCI插槽中。
7、冗余
可靠性是服務(wù)器最重要的指標(biāo)。既然服務(wù)器在網(wǎng)絡(luò)中的作用如此重要,那就要求服務(wù)器必須非常穩(wěn)定,以便能隨時(shí)為客戶端能提供服務(wù),也就是說,服務(wù)器需要不間斷地工作。另外,所有重要數(shù)據(jù)都存儲在服務(wù)器上,一旦硬盤損壞,數(shù)據(jù)將全部丟失。為了保證系統(tǒng)的可靠性,服務(wù)器采用了專門的技術(shù)。
磁盤冗余。磁盤冗余采用兩塊或多塊硬盤來實(shí)現(xiàn)磁盤陣列,即使一塊硬盤損壞,也不會丟失數(shù)據(jù)。
部件冗余。由于所有硬件設(shè)備都有發(fā)生故障的可能,因此,許多重要硬件設(shè)備都不止一個(gè),例如,網(wǎng)卡、電源、風(fēng)扇,這樣可以保證部分硬件損壞之后,服務(wù)器仍然能夠正常運(yùn)行。
熱插拔。所謂熱插拔,是指帶電進(jìn)行硬盤或板卡的插拔操作,實(shí)現(xiàn)故障恢復(fù)和系統(tǒng)擴(kuò)容。既然服務(wù)器是7×24小時(shí)工作的,那么,即使在更換或添加硬盤,甚至在插拔板卡時(shí)也不能停機(jī)。因此,熱插拔對于服務(wù)器則言,就顯得非常重要。
8、可擴(kuò)展性
服務(wù)器的可擴(kuò)展性既被用于部件冗余以保證運(yùn)行的穩(wěn)定性,同時(shí),也被用于提升系統(tǒng)配置、增加功能。因此,服務(wù)器除了有較多的硬盤位置、內(nèi)存插槽、CPU插座外,還擁有豐富的板卡插槽。如果硬盤數(shù)量較多,還應(yīng)當(dāng)能夠擴(kuò)充電源模塊。
編輯:黃飛
?
評論