netty-websocket-spring-boot-starter icon indicating copy to clipboard operation
netty-websocket-spring-boot-starter copied to clipboard

关于布置主从的问题

Open Lc-1995 opened this issue 4 years ago • 4 comments

我现在只布置了一台服务器,但一台的话限制会很大,比如这一台服务器挂掉了,或者我要升级,就会导致所有的连接都会断开,所以我想另外再布置一台,但是websocket的session只能存在内存中,无法实现序列化共享,那就会出现我连上了a服务器,session再a这边,我怎么共享到b服务器,因为a挂掉的话,这个session就没了,请问有什么好的解决方案吗?

Lc-1995 avatar Apr 14 '20 02:04 Lc-1995

session一定会没了,因为这里的session实际上是一条连接。 如果a服务器挂掉,连接也是会断开的,也就是session一定会没。 毕竟连接都没有了,客户端想接收或发送都做不了。

其实只需要客户端重连,自然就会连上b服务器,也就不存在session没掉的问题。

YeautyYE avatar Apr 14 '20 03:04 YeautyYE

也就是说websocket目前不能实现session共享的,无法序列化存储到一个地方,所以如果布置多台的话,a服务器挂掉了,就只能让在a服务器上的连接重连到b上对吧。

session一定会没了,因为这里的session实际上是一条连接。 如果a服务器挂掉,连接也是会断开的,也就是session一定会没。 毕竟连接都没有了,客户端想接收或发送都做不了。

其实只需要客户端重连,自然就会连上b服务器,也就不存在session没掉的问题。

也就是说websocket目前不能实现session共享的,无法序列化存储到一个地方,所以如果布置多台的话,a服务器挂掉了,就只能让在a服务器上的连接重连到b上对吧。

Lc-1995 avatar Apr 14 '20 06:04 Lc-1995

也就是说websocket目前不能实现session共享的,无法序列化存储到一个地方,所以如果布置多台的话,a服务器挂掉了,就只能让在a服务器上的连接重连到b上对吧。

不是websocket目前不能实现,而是只要是连接就不存在序列化存储到一个地方。

客户端重连是可以到b上的

YeautyYE avatar Apr 14 '20 06:04 YeautyYE

也就是说websocket目前不能实现session共享的,无法序列化存储到一个地方,所以如果布置多台的话,a服务器挂掉了,就只能让在a服务器上的连接重连到b上对吧。

不是websocket目前不能实现,而是只要是连接就不存在序列化存储到一个地方。

客户端重连是可以到b上的

好的,谢谢,大概明白了。

Lc-1995 avatar Apr 14 '20 06:04 Lc-1995