【发布时间】:2011-08-19 16:29:41
【问题描述】:
我一直在尝试不同的 nodeJS 发布/订阅实现,并且想知道哪一个最适合特定应用程序。该应用程序的要求涉及在多通道、多用户 3D 环境中实时同步对象。
我开始使用 socket.io,创建了一个基本的通道数组,当用户发送消息时,它会循环通过该通道中的用户并向用户的客户端发送消息。这很好用,我没有遇到任何问题。
对于对象持久性,我使用 node_redis 添加了对 Redis 的支持。然后我用 Redis pub/sub 替换了通道数组上的 client.send 循环作为抽象层。但我注意到我需要为每个订阅的用户创建一个新的 Redis 客户端。而且我仍然需要存储 socket.io 客户端信息以在发布时向其发送消息。那可扩展性如何?还有其他(更好的)实现或我可以做的进一步优化吗?你会怎么做?
【问题讨论】:
标签: javascript node.js redis publish-subscribe