跨服服务器是游戏开发中常见的业务需求,由于一个游戏服务器的玩家承载能力是有上限的,通常我们会考虑采用多个游戏服的模式来进行分流,从而使更多的玩家可以流畅地玩游戏。
分服虽然可以降低单个游戏服务器的压力,但是却割裂了不同服务器玩家之间的联系,降低了游戏体验。为了加强不同游戏服玩家之间的联系,避免不了增加一些跨服功能,最简单的比如跨服排行榜。要实现游戏跨服排行榜,常规的做法是单独建立一个跨服服务器,通过跨服服务器,来进行集中处理和消息分发。大概就是下面这样一个结构,游戏服理论上可以很多,我只是简单画了两个示意一下。
每个服务器都要先把玩家的等级数据发往跨服服务器,然后在跨服服务器进行排序,排完了之后就,游戏服再从跨服服务器获取跨服排行。
功能实现倒是没什么问题,就是实际维护拓展的时候比较麻烦。
第一点,你要先写一个和跨服服务器传输数据的协议。
第二点,你要写一个跨服服务器处理排行榜并返回排行的协议。
第三点,每次更新新功能,你要同时更新游戏服和跨服服务器,一旦两边版本不一样,那么久容易出问题,
此外 如果这个玩家等级数据存在内存里ÿ