我一直在玩nodeJS的不同发布/订阅实现,并且想知道哪一个最适合特定的应用程序.该应用程序的要求涉及在多通道,多用户3D环境中实时同步对象.
我开始使用socket.io,创建了一个基本的通道数组,当用户发送消息时,它会循环通过该通道中的用户并向用户的客户端发送消息.这很好用,我没有遇到任何问题.
对于对象持久性,我使用node_redis添加了Redis支持.然后我用Redis pub/sub替换了通道数组上的client.send循环作为抽象层.但我注意到我需要为每个订阅用户创建一个新的Redis客户端.而且我仍然需要存储socket.io客户端信息以便在发布时发送消息.这有多可扩展?是否有其他(更好的)实现或进一步优化?你会怎么做?