Node.js 通过群集中的websocket检测客户端存在

Node.js 通过群集中的websocket检测客户端存在,node.js,websocket,Node.js,Websocket,我正在实现一个nodejs服务器,它使用primus处理websocket连接。服务器需要跟踪每个客户机的存在,并且服务器作为集群实现 当客户端连接时,在redis上设置一个密钥来跟踪它与集群共享的状态,当客户端断开连接时,该密钥由同一线程更新。 在集群的一个线程崩溃的情况下,很明显,到该线程的所有连接都将断开。 在这种情况下,如何更新每个断开连接的客户端在redis中的状态 跟踪主机上的线程死亡是否有意义 cluster.on('exit', function(worker, code, si

我正在实现一个nodejs服务器,它使用primus处理websocket连接。服务器需要跟踪每个客户机的存在,并且服务器作为集群实现

当客户端连接时,在redis上设置一个密钥来跟踪它与集群共享的状态,当客户端断开连接时,该密钥由同一线程更新。 在集群的一个线程崩溃的情况下,很明显,到该线程的所有连接都将断开。 在这种情况下,如何更新每个断开连接的客户端在redis中的状态

跟踪主机上的线程死亡是否有意义

cluster.on('exit', function(worker, code, signal) {
  //.. set as disconnected all the clients for this worker in redis
});

请看一下我们为这些场景开发的Primus插件:

它还使用Redis来存储连接,但是当服务器从集群中删除时,它有一种清除服务器的方法。这个插件也得到了Primus开发者的官方支持(包括我;-)