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