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