Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/35.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 Socket.IO重新存储和xhr轮询_Node.js_Xmlhttprequest_Redis_Socket.io - Fatal编程技术网

Node.js Socket.IO重新存储和xhr轮询

Node.js Socket.IO重新存储和xhr轮询,node.js,xmlhttprequest,redis,socket.io,Node.js,Xmlhttprequest,Redis,Socket.io,我在heroku上扩展Node.js应用程序时遇到问题。我使用Redistore来保持节点进程之间的套接字连接的持久性。我正在扩展到2,3个进程。我在这里遵循这个代码。在一个进程中,一切都正常工作,但当我向外扩展时,广播不会到达其他节点。然而,连接信息是持久的,我不会经常收到握手错误和断开连接 据我所知,socket.io Redistore还在内部处理redis发布/订阅,以保持多个进程同步。正如这里提到的,顺便提一下,我应用了#848 socket.io补丁,它似乎没有为我解决问题 截至20

我在heroku上扩展Node.js应用程序时遇到问题。我使用Redistore来保持节点进程之间的套接字连接的持久性。我正在扩展到2,3个进程。我在这里遵循这个代码。在一个进程中,一切都正常工作,但当我向外扩展时,广播不会到达其他节点。然而,连接信息是持久的,我不会经常收到握手错误和断开连接

据我所知,socket.io Redistore还在内部处理redis发布/订阅,以保持多个进程同步。正如这里提到的,顺便提一下,我应用了#848 socket.io补丁,它似乎没有为我解决问题

截至2012年5月14日,Heroku只支持socket.io的xhr轮询传输,这就是我正在使用的。那么,这仅仅是长轮询的问题吗?这有什么办法吗


提前感谢。

如果这完全不相关,很抱歉,但当我看到一个需要可伸缩性、节点、redis和发布/订阅的问题时,我想到了-这是您应该研究的问题吗?

我通过实现自己的redis层解决了这个问题。我让部署在不同实例上的所有节点服务器订阅一个中央Redis服务器,并侦听来自Redis而不是套接字的消息。它适用于WebSocket和xhr轮询。

Hi@agwntr,这是个好消息!!你介意和我们分享一些代码吗?我已经在这里工作了好几个小时了!