在redis上存储SockJS连接

时间:2013-11-06 06:29:04

标签: node.js websocket sockjs

我需要将连接从节点服务器卸载到redis,因此我可以在实时系统上更新(并重新启动)节点服务器。然后将连接从redis拉回节点。这可能与SockJS连接有关吗?

2 个答案:

答案 0 :(得分:1)

我有一个建议(不知道它是否仍然按时):

您无法在任何地方存储网络连接(它不能以任何方式序列化,因为它基于OS资源)。但您可以在Redis(或任何其他存储机制)上存储所有相关的用户会话状态,并以任何类型的用户ID编制索引。

为了从服务器重启(或崩溃)中恢复,客户端可以重新连接,并且假设它知道用户ID,则可以将其重新连接到会话状态。

如果您有任何类型的故障转移机制,或者重启过程足够短,那么您的用户除了对通信有点冻结之外什么都不会感觉到。

我希望这可以提供帮助。

问候。

Heleno的

答案 1 :(得分:0)

如果重新启动节点服务器,所有连接都将丢失,客户端将断开连接,则无法存储连接以重新启动服务器。