-
互聯(lián)網(wǎng)安全法,互聯(lián)網(wǎng)凈網(wǎng)行動
-
”凈網(wǎng)2020”落實(shí)好維護(hù)網(wǎng)絡(luò)安全責(zé)任
-
關(guān)于端午節(jié)放假通知-宇眾網(wǎng)絡(luò)
-
宇眾網(wǎng)絡(luò)春節(jié)放假通知
-
關(guān)于公司收款銀行賬戶變更通知函-宇眾網(wǎng)絡(luò)
-
關(guān)于網(wǎng)上有人冒充我公司名義進(jìn)行詐騙的公告。
-
關(guān)于端午節(jié)放假通知,節(jié)日放假,但是我們業(yè)務(wù)不“放假”-宇眾網(wǎng)絡(luò)
-
工信部進(jìn)一步加強(qiáng)未備案網(wǎng)站管理工作的通知-宇眾網(wǎng)絡(luò)
-
關(guān)于東莞市宇眾網(wǎng)絡(luò)科技有限公司香港數(shù)據(jù)中心(香港機(jī)房)路由優(yōu)化通知
-
宇眾網(wǎng)絡(luò)慶祝五·一勞動節(jié)快樂
-
東莞東城機(jī)房網(wǎng)絡(luò)升級通知
-
臨近過年,互聯(lián)網(wǎng)IDC貴圈也有被騙的,請認(rèn)準(zhǔn)宇眾網(wǎng)絡(luò)公司官方聯(lián)系方式
-
我司已獲得ISP/ICP/IDC三證資格,更好的為客戶服務(wù)
-
關(guān)于浙江金華高防機(jī)房網(wǎng)絡(luò)線路切割通知
-
工信部近日下發(fā)關(guān)于進(jìn)一步規(guī)范域名備案工作的通知
行業(yè)資訊
- 首頁
- 新聞中心
- 行業(yè)資訊
常見游戲服務(wù)器的架構(gòu)以及相關(guān)優(yōu)缺點(diǎn),宇眾網(wǎng)絡(luò)游戲高防服務(wù)器租用,183.60.201.1極致的速度給用戶最好的體驗(yàn)!!
一個大型的網(wǎng)絡(luò)游戲服務(wù)器應(yīng)該包含幾個模塊:網(wǎng)絡(luò)通訊,業(yè)務(wù)邏輯,數(shù)據(jù)存儲,守護(hù)監(jiān)控(不是必須),其中業(yè)務(wù)邏輯可能根據(jù)具體需要,又劃分為好幾個子模塊。
這里說的模塊可以指一個進(jìn)程,或者一個線程方式存在,本質(zhì)上就是一些類的封裝。
對于服務(wù)器的并發(fā)性,要么采用單進(jìn)程多線程,要么采用多進(jìn)程單線程的方式,說說兩種方式的優(yōu)缺點(diǎn):
一、單進(jìn)程多線程的服務(wù)器設(shè)計(jì)模式,只有一個進(jìn)程,但一個進(jìn)程包好多個線程:
網(wǎng)絡(luò)通訊層,業(yè)務(wù)邏輯,數(shù)據(jù)存儲,分別在獨(dú)立的線程中,無守護(hù)進(jìn)程。
優(yōu)點(diǎn):
1.數(shù)據(jù)共享和交換方便,使用全局變量或者單例就可以,數(shù)據(jù)存儲方便。
2.單進(jìn)程,服務(wù)器框架結(jié)構(gòu)相對簡單,編碼容易。
缺點(diǎn):
1.所有功能只能在單個物理服務(wù)器上,不能做成分布式。
2.不方便監(jiān)控各個線程狀態(tài),容易死鎖
3.一個線程出錯,例如內(nèi)存非法訪問,??臻g被破壞,那么服務(wù)器進(jìn)程就退出,所有玩家掉線,影響大。
★如有服務(wù)器租用可咨詢宇眾臨風(fēng),QQ:2850293179 Tel:15999932452 服務(wù)器租用價格列表
二、多進(jìn)程單線程的服務(wù)器設(shè)計(jì)模式,多個進(jìn)程,每個進(jìn)程只有一個線程:
網(wǎng)路通訊,業(yè)務(wù)邏輯,數(shù)據(jù)存儲,守護(hù)進(jìn)程,分別在不同的進(jìn)程。
優(yōu)點(diǎn):
1.各個進(jìn)程可以分布在不同的物理服務(wù)器上,可以做成分布式的服務(wù)器框架,例如可以將數(shù)據(jù)存儲單獨(dú)放到一個物理服務(wù)器上,供幾個區(qū)的服務(wù)器使用。將網(wǎng)絡(luò)通訊進(jìn)程獨(dú)立出來,甚至可以做成導(dǎo)向服務(wù)器,實(shí)現(xiàn)跨服戰(zhàn)。
2.可以通過守護(hù)進(jìn)程監(jiān)控其它進(jìn)程狀態(tài),例如有進(jìn)程死掉,馬上重啟該進(jìn)程,或者某個進(jìn)程cpu使用率接近100%(基本可以判斷是某個邏輯死循環(huán)了), 強(qiáng)制kill掉該進(jìn)程,然后重啟。
3.單個服務(wù)器進(jìn)程異常退出,只要不是網(wǎng)絡(luò)通訊進(jìn)程(一般這個都會比較穩(wěn)定,沒什么邏輯),那么就可以及時被守護(hù)進(jìn)程重啟,不會造成玩家掉線,只會造成在1-2秒內(nèi),某個邏輯功能無法使用,甚至玩家都感覺不到。
4.服務(wù)器通過共享內(nèi)存進(jìn)行數(shù)據(jù)交換,那么如果其中一個服務(wù)器死掉,數(shù)據(jù)還在,可以保護(hù)用戶數(shù)據(jù)(當(dāng)然多線程也可以使用共享內(nèi)存)。
5.并發(fā)性相對多線程要高點(diǎn)。
缺點(diǎn):
1.不方便使用互斥鎖,因?yàn)檫M(jìn)程切換的時間片遠(yuǎn)遠(yuǎn)于線程切換,對于一個高并發(fā)服務(wù)器是無法允許這么高時間片的切換代價的。因此必須設(shè)計(jì)好服務(wù)器的框架,盡量避開使用鎖機(jī)制,但要保證數(shù)據(jù)不出錯。
2.多進(jìn)程編程,在各個進(jìn)程間會有很多通訊,跨服務(wù)器進(jìn)程的異步消息較多,會讓服務(wù)器的編碼難度加大。