socket.io聊天室,做服务器集群会有问题吗?
用express+socket.io做聊天室,用ngnix做负载均衡,后端有两台服务器,这样在广播消息的时候会有问题吗?
7 回复
两个问题要注意
- 配置 nginx 支持 websocket
- 注意 socket.io 会话保持方面的坑。
@alsotang ,谢谢指点,如果nginx配置了websocket,会不会有这样的问题,比如:聊天在做socket连接的时候有人命中了服务器1,有人 命中了服务器2,这样在发送聊天广播信息的时候会不会有人收不到消息呢,只给连接到当前的服务器的用户发送?
@nike527 你要想办法把消息共享这方面的逻辑移出 node 进程,放在一个共享的地方,比如接上 redis 之类的。
@alsotang ,好的,谢谢,有相关的资料吗?我参考参考。。
@nike527 搜索「一致性散列」
pomelo 天生就是分布式集群的