Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Redis发布/订阅限制_Redis_Publish Subscribe - Fatal编程技术网

Redis发布/订阅限制

Redis发布/订阅限制,redis,publish-subscribe,Redis,Publish Subscribe,我正在考虑将Redis作为一个新项目架构的一部分。它将由许多订阅特定密钥的客户端(node.js连接)组成,其中一个进程根据需要发布这些密钥 我很好奇发布/订阅命令的限制以及如何减轻这些限制。一个明显的限制是使用Redis的机器上打开的文件描述符的数量,因此在某个时候,我需要对多个Redis实例实现主从或一致哈希 是否有人有任何关于如何使用Redis'PubSub扩展此体系结构的解决方案?Redis PubSub非常容易扩展,因为主/从复制会自动发布到所有从复制 最简单的方法是负载平衡到node

我正在考虑将Redis作为一个新项目架构的一部分。它将由许多订阅特定密钥的客户端(node.js连接)组成,其中一个进程根据需要发布这些密钥

我很好奇发布/订阅命令的限制以及如何减轻这些限制。一个明显的限制是使用Redis的机器上打开的文件描述符的数量,因此在某个时候,我需要对多个Redis实例实现主从或一致哈希


是否有人有任何关于如何使用Redis'PubSub扩展此体系结构的解决方案?

Redis PubSub非常容易扩展,因为主/从复制会自动发布到所有从复制

最简单的方法是负载平衡到node.js的连接,例如HAProxy,在每个Web服务器上运行一个Redis从属服务器,该服务器与发布消息的单个主服务器同步

我不能给出确切的数字,因为这在很大程度上取决于底层系统,但这应该可以非常好地扩展。而且您不需要手动管理客户端以及它们连接到哪个服务器。显然,您需要某种方法来处理会话状态,因此您可能需要这样做,但在负载平衡器中要比在应用程序中容易得多