大型網(wǎng)游的基礎(chǔ)架構(gòu)決定了游戲的用戶(hù)體驗(yàn),近日冰川網(wǎng)絡(luò)推出其第三代國(guó)戰(zhàn)網(wǎng)游《不敗傳說(shuō)》,浪潮為冰川網(wǎng)絡(luò)搭建包括集接入層、計(jì)算層、交換層和存儲(chǔ)層等一整套平臺(tái),滿(mǎn)足冰川高負(fù)載和彈性擴(kuò)展需求。
與單機(jī)游戲或者其它的局域網(wǎng)游戲不同,大型網(wǎng)絡(luò)游戲的客戶(hù)端不再對(duì)數(shù)據(jù)進(jìn)行邏輯處理,大部分的邏輯計(jì)算都放在后端的服務(wù)器進(jìn)行處理,導(dǎo)致玩家與后臺(tái)服務(wù)器間的數(shù)據(jù)傳輸頻次多且大多保持長(zhǎng)時(shí)鏈接,服務(wù)器端的響應(yīng)速度、并發(fā)能力、鏈接穩(wěn)定性等性能也就直接決定了客戶(hù)端玩家的用戶(hù)體驗(yàn)。因此,游戲服務(wù)器選型和架構(gòu)建設(shè)與一般的Web服務(wù)器不同,游戲服務(wù)器對(duì)于硬件和整個(gè)系統(tǒng)架構(gòu)的要求更高。
網(wǎng)游服務(wù)器集群需要怎樣的性能指標(biāo)?
快速響應(yīng)是冰川網(wǎng)絡(luò)和其他網(wǎng)游服務(wù)商首先需要保障的基本性能。由于網(wǎng)絡(luò)游戲的服務(wù)器集群對(duì)應(yīng)所有的游戲客戶(hù)端,每個(gè)玩家的動(dòng)作都會(huì)實(shí)時(shí)地互相影響。比如玩家間PK,在接收到玩家的指令后,服務(wù)器需要立刻判斷雙方攻擊力、血量、防御力、抗性等屬性,然后經(jīng)過(guò)一定的算法才能最終輸出一個(gè)傷害值。而這些都需要服務(wù)器進(jìn)行實(shí)時(shí)的運(yùn)算并作出反饋,延遲需要在毫秒級(jí)。因此,網(wǎng)游的邏輯服務(wù)器需要強(qiáng)大的計(jì)算能力,或是采用高性能的服務(wù)器,或是通過(guò)計(jì)算服務(wù)器集群提升整個(gè)系統(tǒng)的計(jì)算能力。
第二,對(duì)于一款熱門(mén)的游戲,高并發(fā)能力是考驗(yàn)服務(wù)器端的一道難題。玩家的大規(guī)模同時(shí)登陸和游戲內(nèi)的國(guó)戰(zhàn)、群聊都會(huì)需要極高的并發(fā)鏈接處理。以IM服務(wù)器舉例,當(dāng)某個(gè)玩家在游戲發(fā)布了一條消息,目標(biāo)是全地圖所有玩家,那么這則消息可能需要同時(shí)發(fā)送給數(shù)萬(wàn)的玩家,而這僅僅只是一個(gè)玩家發(fā)布的消息,如果是10個(gè)、100個(gè)或者10000個(gè)玩家同時(shí)發(fā)送廣播呢?所以,一個(gè)同樣硬件配置的服務(wù)器,可能跑Nginx(用于處理Web服務(wù)器的并發(fā))可以同時(shí)處理上萬(wàn)的鏈接,但是對(duì)于一個(gè)游戲服務(wù)器就只有1、2千了。因此,對(duì)于登錄和管理服務(wù)器而言,能否支持高并發(fā)是重要的考量依據(jù)。
第三,一款大型網(wǎng)游在服務(wù)器端需要存儲(chǔ)大量的數(shù)據(jù),比如游戲中的地圖數(shù)據(jù)、資源數(shù)據(jù)等基本不會(huì)有太大變化的數(shù)據(jù)。另外,玩家每創(chuàng)建一個(gè)游戲角色都會(huì)有一系列數(shù)據(jù)需要存儲(chǔ),比如名稱(chēng)、ID、裝備、寵物、屬性等等,而且不論這個(gè)玩家是否上線(xiàn)、是否長(zhǎng)時(shí)間沒(méi)有登錄,相關(guān)的數(shù)據(jù)都需要永久保存。因此,網(wǎng)游的存儲(chǔ)服務(wù)器需要較大的、安全的存儲(chǔ)空間來(lái)保存這些數(shù)據(jù)。
浪潮如何為冰川網(wǎng)絡(luò)搭建高效網(wǎng)游基礎(chǔ)架構(gòu)?
游戲業(yè)務(wù)有著不同細(xì)分應(yīng)用場(chǎng)景,比如登錄、游戲邏輯、地圖檢索等,這也會(huì)對(duì)應(yīng)不同的資源需求,如何合理的運(yùn)用不同類(lèi)型的服務(wù)器來(lái)架設(shè)集群,才能夠以最優(yōu)的TCO建設(shè)最高效游戲平臺(tái)?浪潮通過(guò)數(shù)十臺(tái)SA5212M4組成計(jì)算集群,配合前端浪潮SA5112M4的分發(fā)和后端NF5460M4的大容量存儲(chǔ),浪潮為冰川網(wǎng)絡(luò)搭建了一套集接入層、計(jì)算層、交換層和存儲(chǔ)層等一整套平臺(tái),成功了解決了冰川網(wǎng)絡(luò)最新游戲《不敗傳說(shuō)》的高負(fù)載要求,滿(mǎn)足了游戲客戶(hù)彈性的需求。
登錄服務(wù)器強(qiáng)調(diào)高并發(fā)
在網(wǎng)游架構(gòu)最前端的是登陸服務(wù)器,也可以稱(chēng)之為連接服務(wù)器,網(wǎng)絡(luò)游戲的客戶(hù)端一般是連接到這里,然后再由該連接服務(wù)器根據(jù)不同的需要,把游戲消息轉(zhuǎn)發(fā)給其它相應(yīng)的計(jì)算類(lèi)服務(wù)器(邏輯和地圖服務(wù)器)。在游戲高峰時(shí)段或者新服開(kāi)服之初,對(duì)于并發(fā)請(qǐng)求的處理需求很高,因此冰川網(wǎng)絡(luò)采購(gòu)近百臺(tái)浪潮SA5112M4作為登錄服務(wù)器和管理服務(wù)器。雙路E5 CPU的高計(jì)算性能,配合萬(wàn)兆網(wǎng)絡(luò)的高吞吐能力,提升客戶(hù)端用戶(hù)的連接上限,并為內(nèi)部數(shù)據(jù)的分發(fā)、流轉(zhuǎn)提供足夠的帶寬。
浪潮SA5112M4服務(wù)器
存儲(chǔ)服務(wù)器注重大容量
由于登錄服務(wù)器需要存儲(chǔ)的數(shù)據(jù)很少,且停留時(shí)間短,因此冰川網(wǎng)絡(luò)在浪潮SA5112M4中只配置了一塊硬盤(pán)用于系統(tǒng)的安裝,其所有數(shù)據(jù)存放在后端的大容量存儲(chǔ)服務(wù)器中。冰川網(wǎng)絡(luò)的存儲(chǔ)服務(wù)器選用了數(shù)臺(tái)浪潮NF5460M4, 配置36塊4TB 15k轉(zhuǎn)速的SAS硬盤(pán),單機(jī)容量可達(dá)144TB,同時(shí)兼顧了較高的磁盤(pán)IO和較大的磁盤(pán)容量。另外浪潮NF5460M4配置了2塊15K轉(zhuǎn)速SAS硬盤(pán)做Raid1來(lái)裝系統(tǒng),保證數(shù)據(jù)和系統(tǒng)分離,提升存儲(chǔ)系統(tǒng)的整體安全能力。