行業資訊

  • 首頁
  • 新聞中心
  • 行業資訊

常見游戲服務器的架構以及相關優缺點,宇眾網絡游戲高防服務器租用,183.60.201.1極致的速度給用戶最好的體驗!!


2018年07月05日

一個大型的網絡游戲服務器應該包含幾個模塊:網絡通訊,業務邏輯,數據存儲,守護監控(不是必須),其中業務邏輯可能根據具體需要,又劃分為好幾個子模塊。

這里說的模塊可以指一個進程,或者一個線程方式存在,本質上就是一些類的封裝。

對于服務器的并發性,要么采用單進程多線程,要么采用多進程單線程的方式,說說兩種方式的優缺點:

一、單進程多線程的服務器設計模式,只有一個進程,但一個進程包好多個線程:

網絡通訊層,業務邏輯,數據存儲,分別在獨立的線程中,無守護進程。

優點:

1.數據共享和交換方便,使用全局變量或者單例就可以,數據存儲方便。

2.單進程,服務器框架結構相對簡單,編碼容易。

缺點:

1.所有功能只能在單個物理服務器上,不能做成分布式。

2.不方便監控各個線程狀態,容易死鎖

3.一個線程出錯,例如內存非法訪問,棧空間被破壞,那么服務器進程就退出,所有玩家掉線,影響大。

★如有服務器租用可咨詢宇眾臨風,QQ:2850293179       Tel:15999932452       服務器租用價格列表

二、多進程單線程的服務器設計模式,多個進程,每個進程只有一個線程:

網路通訊,業務邏輯,數據存儲,守護進程,分別在不同的進程。

優點:

1.各個進程可以分布在不同的物理服務器上,可以做成分布式的服務器框架,例如可以將數據存儲單獨放到一個物理服務器上,供幾個區的服務器使用。將網絡通訊進程獨立出來,甚至可以做成導向服務器,實現跨服戰。

2.可以通過守護進程監控其它進程狀態,例如有進程死掉,馬上重啟該進程,或者某個進程cpu使用率接近100%(基本可以判斷是某個邏輯死循環了), 強制kill掉該進程,然后重啟。

3.單個服務器進程異常退出,只要不是網絡通訊進程(一般這個都會比較穩定,沒什么邏輯),那么就可以及時被守護進程重啟,不會造成玩家掉線,只會造成在1-2秒內,某個邏輯功能無法使用,甚至玩家都感覺不到。

4.服務器通過共享內存進行數據交換,那么如果其中一個服務器死掉,數據還在,可以保護用戶數據(當然多線程也可以使用共享內存)。

5.并發性相對多線程要高點。

缺點:

1.不方便使用互斥鎖,因為進程切換的時間片遠遠于線程切換,對于一個高并發服務器是無法允許這么高時間片的切換代價的。因此必須設計好服務器的框架,盡量避開使用鎖機制,但要保證數據不出錯。

2.多進程編程,在各個進程間會有很多通訊,跨服務器進程的異步消息較多,會讓服務器的編碼難度加大。


客服
主站蜘蛛池模板: 国产成人综合久久综合| 久久综合久久综合亚洲| 精品综合久久久久久97| 久久久久久久综合日本| 欧美自拍另类欧美综合图片区| 色视频综合无码一区二区三区| 久久综合伊人77777麻豆| 久久一本综合| 亚洲精品欧美综合在线| 久久综合伊人77777| 久久综合香蕉国产蜜臀AV| 久久精品水蜜桃av综合天堂| 亚洲AV综合色区无码另类小说| 丁香五月天综合缴情网| 天天综合天天看夜夜添狠狠玩| 色综合色综合色综合| 一本一道久久综合狠狠老| 情人伊人久久综合亚洲| 色综合久久久久| 欧美成人精品一区二区综合| 久久综合伊人77777麻豆| 亚洲欧美日韩综合在线观看不卡顿| 亚洲色偷偷狠狠综合网| 五月婷婷激情综合| 国产色婷婷精品综合在线| 精品第一国产综合精品蜜芽| 久久亚洲综合色一区二区三区| 五月天激情综合网丁香婷婷| 亚洲人成网站999久久久综合| 亚洲色欲久久久综合网东京热| 成人综合久久精品色婷婷| 无翼乌无遮挡全彩老师挤奶爱爱帝国综合社区精品| 欧美日韩亚洲乱国产综合| 综合精品欧美日韩国产在线| 亚洲精品国产综合久久一线| 国产综合色产在线精品| 久久综合给合久久狠狠狠97色| 亚洲 欧美 综合 高清 在线| 人人狠狠综合久久亚洲高清| 亚洲情综合五月天| 色综合伊人色综合网站|