通服整體架構設計概述
02-27
通服設計的好處包括:
- 減少了玩家進入流程,不用選擇伺服器
- 去掉了不同伺服器的障礙,玩家之間可以任意互動
- 天梯匹配更精準
- 免去了開服合服的流程
帶來的挑戰:
- 交互類伺服器功能需要支持跨服
- 穩定性要求更高,中心伺服器宕機影響全服功能
- 資料庫訪問需要集群設計
《xx》項目整個通服的伺服器架構由幾類伺服器構成,它們之間的交互關係如圖所示。
通服架構
登錄服組:由三個登錄服組成,用於用戶的登錄和註冊,客戶端隨機訪問。
大廳服池:可動態增長數量的伺服器池,每個伺服器將自己註冊到login服,login伺服器根據負載均衡原則為新登入的玩家分配大廳服進行連接。
戰鬥服池:可動態增長數量的伺服器池,每個伺服器將自己註冊到center服,center伺服器根據負載均衡原則為匹配成功的戰鬥分配戰鬥服進行戰鬥。
中心伺服器:跨服匹配、全服排行榜、跨服好友部分功能。採用主從架構,正常運轉時,只由主伺服器提供服務,主伺服器宕機時,由預備伺服器提供服務。中心伺服器可根據業務功能,分拆為了獨立的功能伺服器,降低宕機風險。
mongos集群:基於mongo構建的集群,能夠在多組伺服器上實現負載均衡、高可用。可使用阿里雲提供的mongo雲資料庫,也可以自己構建。
推薦閱讀:
※記錄一次伺服器宕機分析過程(1)-排查問題
※遊戲線上的伺服器風險
※卡牌戰鬥系統設計概述
※記錄一次伺服器宕機分析過程(2)-深入Lua GC
※skynet初探
TAG:遊戲伺服器 |