猿问

用容器部署在线游戏如何保证玩家websocket不断?

容器是无状态的,在线游戏要有状态,多个用户的状态在多个容器内时,要对容器增减会造成游戏中断。这种情况如何保证正在连接的websocket不断?
如果用容器编排工具kubernetes等会有解决方案吗?或者从业务逻辑上考虑?

倚天杖
浏览 1653回答 2
2回答

杨魅力

正常的游戏服务器都有网关架构的玩家只连接网关。由网关来负责连接后端服务器,换线不需要重新登录就是这么玩的。重启游戏服务器的时候,先让网关连接其他服务器。然后把需要重启的服务器重启,最后重新接上网关

森林海

通过前端负载均衡来保持链接,后端来处理逻辑可以解决在容器被杀死前对容器内部的应用发起广播,前端的负载均衡不将新的请求转发到内部容器,然后内部应用向客户端发起重新链接的请求,客户端接到请求后创建第二个socket请求,待发起成功后将旧的socket断开没做过相关内容,仅供参考
随时随地看视频慕课网APP
我要回答