Redis PUBLISH/SUBSCRIBE 限制
Posted
技术标签:
【中文标题】Redis PUBLISH/SUBSCRIBE 限制【英文标题】:Redis PUBLISH/SUBSCRIBE limits 【发布时间】:2011-09-24 14:42:53 【问题描述】:我正在考虑将 Redis 用于新项目架构的一部分。它将由许多客户端(node.js 连接)组成,订阅特定键,一个进程根据需要发布这些键。
我很好奇 PUBLISH/SUBSCRIBE 命令的限制以及如何缓解这些限制。一个明显的限制是在使用 Redis 的机器上打开的文件描述符的数量,所以在某些时候我需要对多个 Redis 实例实现主从或一致性哈希。
谁有关于如何使用 Redis 的 PubSub 扩展此架构的任何解决方案?
【问题讨论】:
【参考方案1】:Redis PubSub 非常容易扩展,因为主/从复制会自动发布到所有从属。
最简单的方法是使用例如 HAProxy 对与 node.js 的连接进行负载平衡,在每个网络服务器上运行一个 Redis 从属服务器,该服务器与发布消息的单个主服务器同步。
我不能给你确切的数字,因为这很大程度上取决于底层系统,但这应该可以很好地扩展。而且您不需要手动管理客户端以及它们连接到的服务器。您显然需要某种方法来处理会话状态,因此无论如何您都可能需要这样做,但在负载均衡器中比在应用程序中更容易做到这一点。
【讨论】:
以上是关于Redis PUBLISH/SUBSCRIBE 限制的主要内容,如果未能解决你的问题,请参考以下文章
就publish/subscribe功能看redis集群模式下的队列技术
如何使用 redis PUBLISH/SUBSCRIBE 和 nodejs 在数据值更改时通知客户端?
如何使用 redis PUBLISH/SUBSCRIBE 和 nodejs 在数据值更改时通知客户端?