通服设计的好处包括:
- 减少了玩家进入流程,不用选择服务器
- 去掉了不同服务器的障碍,玩家之间可以任意互动
- 天梯匹配更精准
- 免去了开服合服的流程
带来的挑战:
- 交互类服务器功能需要支持跨服
- 稳定性要求更高,中心服务器宕机影响全服功能
- 数据库访问需要集群设计
《xx》项目整个通服的服务器架构由几类服务器构成,它们之间的交互关系如图所示。
登录服组:由三个登录服组成,用于用户的登录和注册,客户端随机访问。
大厅服池:可动态增长数量的服务器池,每个服务器将自己注册到login服,login服务器根据负载均衡原则为新登入的玩家分配大厅服进行连接。
战斗服池:可动态增长数量的服务器池,每个服务器将自己注册到center服,center服务器根据负载均衡原则为匹配成功的战斗分配战斗服进行战斗。
中心服务器:跨服匹配、全服排行榜、跨服好友部分功能。采用主从架构,正常运转时,只由主服务器提供服务,主服务器宕机时,由预备服务器提供服务。中心服务器可根据业务功能,分拆为了独立的功能服务器,降低宕机风险。
mongos集群:基于mongo构建的集群,能够在多组服务器上实现负载均衡、高可用。可使用阿里云提供的mongo云数据库,也可以自己构建。