stick-战斗服管理器的负载均衡
在上面的基础上继续延伸 战斗服管理器横向扩展
管理器全互联后就不用依赖redis了, 可以相互发消息,本服不存在的房间号,根据房间号混淆加密
房间号加密混淆可逆 算法 直接找出目标组,然后转发过去即可,但是为了不再继续转发 简单的方式是写2个rpc函数来区分。
跨服加入房间问题解决了,那么另外两个个问题,就涉及到负载均衡了。
当本服创建房间失败 或者单人匹配失败。 那么就要把请求转发给其余的管理器去处理(即跨服开房间 或单人匹配)。
单人匹配 和创建房间目前是仅在本服,跨服操作的话那么就要分开构思了。
单人匹配:单人匹配的跨服操作理论上讲 应该尽可能的 全服填坑式 一个服务器组 一个服务器组的塞满。尽可能的让全服玩家都可能相互匹配到
出现这个的原因是管理器有多个,如果全服只有一个的话,那么就简单多了,比如全服只有一个管理器,但是这样吞吐量不够,因为管理器还承担着 战斗服的负载均衡的功能,全服的战斗服都给他去管理的话,压力很大。
方案1:新添加一个服务器角色(匹配服Match),全服只有一台或者仅限的几台,同台可以相互匹配。那么设计上功能尽可能的简单。网络IO协程尽可能的大,因为匹配时间也许会很长,服务器处理能力有限。
TODO