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
Node.js 使用Redis扩展Socket.IO,然后扩展Redis本身_Node.js_Redis_Socket.io_Node Redis - Fatal编程技术网

Node.js 使用Redis扩展Socket.IO,然后扩展Redis本身

Node.js 使用Redis扩展Socket.IO,然后扩展Redis本身,node.js,redis,socket.io,node-redis,Node.js,Redis,Socket.io,Node Redis,在使用Node.js和socket.io一段时间后,我知道如果我想让我的应用程序支持100万并发用户,我需要扩展它,所以我开始使用Redis在socket之间发布消息,并运行大量socket.io服务器实例,在同一台机器和其他机器上,但所有my socket.io服务器都使用同一台Redis服务器 所以我觉得。。有什么意义?所以我需要更多的redis服务器并在它们之间扩展?我的观点是,他们的服务器将永远是顶级服务器上的瓶颈 我的问题是,是否可以扩展Redis?如果是,连接到不同socket.io

在使用Node.js和socket.io一段时间后,我知道如果我想让我的应用程序支持100万并发用户,我需要扩展它,所以我开始使用Redis在socket之间发布消息,并运行大量socket.io服务器实例,在同一台机器和其他机器上,但所有my socket.io服务器都使用同一台Redis服务器

所以我觉得。。有什么意义?所以我需要更多的redis服务器并在它们之间扩展?我的观点是,他们的服务器将永远是顶级服务器上的瓶颈

我的问题是,是否可以扩展Redis?如果是,连接到不同socket.io服务器的所有套接字将如何在Redis服务器之间
PUB/SUB


非常感谢

我想你要找的是。在那一页上,它被称为“正在进行”和“希望在这个夏天”

有一个演示。它基本上是散列+单个主设备和从设备的冗余。但它还没有准备好。要获得更多信息,最好访问论坛和IRC以获取这些产品


如果有人正在做类似的事情,他们将出现在这些频道上。

或者,如果你的应用程序是唯一一个向Redis请求的客户端,那么通过客户端散列来实现你自己的。在Node.js中快速搜索lib以帮助您:。(如果您不熟悉“一致散列”这个术语,请阅读参考的博客文章,该术语基本上允许您以最小的开销弹性地扩展服务器并进行相应的重新散列,而不必事先定义服务器的nr)。顺便说一句:这只考虑切分。复制/HA也必须考虑。是的,Redis集群就是解决这个问题的方法。自2012年4月以来,我一直在用它来做其他事情和发布/订阅,效果非常好:)我编写了一个nodejs模块,可以帮助您处理Redis Cluster并为您进行客户端哈希,您只需为其中一个节点提供一个地址,如果您正确配置了集群,它将为您发现其他节点:请问,发布/订阅是否使用相同的连接?谢谢,为每个连接的客户创建2个客户非常抱歉,我想说不,酒吧/酒吧。那么?谢谢你读了我的这篇文章@?这个例子可以写得更好!那么redis的一个实例就可以扩展所有socket.io服务器!