netty消息服务集群下的Channel共享问题讨论

目前后台的消息服务器,在启动时注册到到zk,然后在proxy层实现了一个端口转发,大概是下面一个映射关系:

<client和proxy的Channel, proxy和server的Channel>

server里client登陆时也会将自己所在的服务器消息注册到redis,然后在server保存

<client唯一标识, 接入的Channel>

在集群环境下,client1向client2发送消息,就会遇到经proxy的均衡算法后两个客户端接入不同的集群环境下server,拿不到client2的Channel的问题。

请问这种情况的最好的解决办法是什么?

上面的几种方式可行吗?是否还有更好的分发?

有相关经验的同学能够解答一下吗?

〒▽〒 菜是原罪。。

#笔试题目#
全部评论
可讲client与server的关系注册到Redis或zk,每次取出判断同服务器直接发送不同服务器通过mq转发。mq延时ms级问题不大
点赞 回复
分享
发布于 2019-07-20 09:33
都集群了,如果是中心化的集群就让leader去下发,如果是非中心化的就用泛洪法去广播
点赞 回复
分享
发布于 2019-07-20 09:50
博乐游戏
校招火热招聘中
官网直投
顶 有靓仔来回答吗?
点赞 回复
分享
发布于 2019-07-20 10:24
一致性哈希吧
点赞 回复
分享
发布于 2019-07-20 10:35

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务