请教下 是否支持自定义codec.
想在头部增加metadata信息。类似httpheader. 用于gate层路由到不同的backend。例如根据servicetype appversion channel等信息做路由,和多版本控制等。这样可以不用解包payload,只解析数据包的header部分。
根据你的需求,你应该是想根据路由消息内携带的信息,根据自定义的路由规则来路由到后端机器上。这样的做法太过复杂了,协议层也冗余了过多的信息。其实你可以做N个集群,你在客户端登录的时候根据客户端的版本给客户端动态返回一个网关地址,这样就能简单而且高效地实现你所谓的多版本了。
@dobyte 是的,游戏中开发中,会有这种多版本,多环境的场景。以前做法是外部依赖个配置,里面维护这些映射关系。后来改成网关层做这些事了。这样客户端永远直连网关,网关根据meta信息在分发内容,这样一条tcp链路可以后面连接多套服务,也不用需要切换后端服务时做TCP的重连了。客户端->网关的kcp websocket流量都可以最终切成tcp流量转发到后端。什么灰度发布,黑白名单,蓝绿发布,后端服务状态维护,比如强更 维护啥的。都可以做了。咱们框架现在能支持自定义codec么。
暂时不支持自定义编解码协议的
根据你的需求,你应该是想根据路由消息内携带的信息,根据自定义的路由规则来路由到后端机器上。这样的做法太过复杂了,协议层也冗余了过多的信息。其实你可以做N个集群,你在客户端登录的时候根据客户端的版本给客户端动态返回一个网关地址,这样就能简单而且高效地实现你所谓的多版本了。
我们现在也是弄一个版本服来做这个事情