我正在使用Socket.io开发node.js应用程序并在Heroku Dyno上部署它。 Socket.io正在使用RedisStore及其PUB / SUB。 Socket.io客户端与heroku中的一个dyno完美配合。但是当我将dyno的数量增加到多于一个(比如两个)时,socket io客户端请求不起作用。
如果在为具有socket.io支持的多个web dyno设置heroku时,请告知我们客户端是否需要任何特定配置。
答案 0 :(得分:4)
很抱歉,但heroku不支持粘性会话,Socket.io
不支持粘性负载平衡如果您计划分配负载 你必须做出不同的过程或机器之间的联系 确保与特定会话ID关联的请求连接到 起源于他们的过程。
答案 1 :(得分:1)
engine.io github上的问题有一个很好的主题。帮助我更好地理解了粘性会话,engine.io和heroku的问题。
答案 2 :(得分:1)
Sticko Sessions现在由Heroku支持 - 但前提是你加入他们的开发(测试版)计划。
根据我的经验,当与Socket.io_Redis插件和启用设置结合使用时,Heroku可以很好地与socket.io配合使用。