亚洲午夜无码久久,今天高清视频免费观看,欧美一夜爽爽爽爽爽爽,在线亚洲欧美日韩精品专区

行業(yè)資訊

  • 首頁
  • 新聞中心
  • 行業(yè)資訊

常見游戲服務(wù)器的架構(gòu)以及相關(guān)優(yōu)缺點,宇眾網(wǎng)絡(luò)游戲高防服務(wù)器租用,183.60.201.1極致的速度給用戶最好的體驗?。?/h3>
2018年07月05日

一個大型的網(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ù)器的編碼難度加大。


客服