netty 储存socket连接对象问题
在网上看到了很多代码储存socket连接都是写个map对象然后key是唯一id value是socket。这样写的话怎么实现集群呢,还有没有更好的写法?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
在网上看到了很多代码储存socket连接都是写个map对象然后key是唯一id value是socket。这样写的话怎么实现集群呢,还有没有更好的写法?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(1)
你首先要明白集群是什么意思。
集群简单的讲,就是使用很多个单体集合起来。但具体处理问题时,却是单体在处理。
讲到socket,会话也是一种资源,他是没办法大家一块处理的,必须具体到某个单体上面。
你可以将这个唯一的id放置到Redis上面,实现共享。但是socket是一个TCP连接,他是一种状态,是不能序列化的,也就是Redis上面可以有一个逻辑的引用。
比如:现在有A B C三个主机的集群,将所有的id都存储到共享的Redis里面。 具体使用时,从Redis中查询具体id所在的主机,然后再去通信。