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

时间:2014-06-02 16:09:52

标签: node.js websocket

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

当客户端连接时,在redis上设置密钥以跟踪其与群集共享的存在,并且当客户端断开连接时,密钥由同一线程更新。 如果集群的一个线程崩溃,很明显将删除该线程的所有连接。 在该场景中,如何更新每个断开连接的客户端的redis状态?

跟踪主人的线程死亡是否有意义?

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

1 个答案:

答案 0 :(得分:0)

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

https://github.com/primus/metroplex

它还使用Redis来存储连接,但是在从群集中删除服务器时可以清除它们。这个插件也得到了构建Primus(包括我; - ))

的人们的正式支持