我试图找到这个问题的答案,而我所能找到的只有老的“不,它没有”或者“在将来它会”。
我试过socket.io-redis,但没有用。在Heroku上,一个dyno将创建工作套接字,除此之外,您将从Socket.io中得到以下错误,这意味着没有缩放。
{“代码”:1,“消息”:“会话ID未知”}
在我看来,WebSocket“支持”Heroku声称对开发人员来说是个残酷的笑话。
编辑: Heroku支持websockets,但它不能与Redis一起使用socket.io集群。因此,我只运行一个专用于套接字的实例。当我想和Heroku一起使用套接字的时候。
发布于 2015-04-23 23:06:15
披露:我是Heroku的Node.js平台所有者。
tl;dr:我们在私有测试版中有多个dyno socket.io支持。
Heroku完全支持WebSockets,它不需要会话亲和力,与socket.io不一样。
Socket.io是一个更高级的软实时抽象,它使用WebSockets作为它的许多潜在传输之一。Socket.io确实需要会话关联,任何socket.io的多节点事件共享实现(在Heroku或其他地方)都需要socket.io-redis (或类似的)。
大多数粘性会话的实现都会破坏12因子体系结构。我们现在已经为socket.io、meteor和sockjs用户提供了一个灵活的、可伸缩的、切换粘性会话测试版。如果你愿意的话,可以在hunter@heroku.com给我发邮件,我们会在接下来的几周内向公众开放。
https://stackoverflow.com/questions/25679346
复制相似问题