我即将开始使用socket.io,这更像是一个理论问题, 假设我想用socket.io向特定用户发送消息, 通常情况下,我必须使用相关的用户ID存储socketid,并在发送时获取socketid并发送给。
但如果我有多个服务器进程正在运行怎么办?我必须确保客户端实际连接的正确服务器进行发送。有可能吗?
答案 0 :(得分:1)
对于多个服务器实例,您需要具有用于身份验证的缓存服务(memcache,redis)以及所有节点实例绑定到的中央消息队列服务(stormMQ,rabbitMQ,AQ,基于java的mq)。因此,Node实例绑定到每个客户端/通道/任何内容的消息队列,所有其他绑定的Node实例接收消息并将它们转发给客户端。
答案 1 :(得分:1)
问题通常在于如何使用WebSocket集群:
每次后端想要通知客户端时,它都会向WebSocket集群发送请求,该集群负责与客户端通信。 可能的情况:
注意: