Socket.io和Heroku一起工作吗?
我试图find这个问题的答案,我能find的所有东西都是旧的“不,不”,或者“将来它会”。
我尝试了socket.io-redis没有用。 在Heroku上,一个测功机将创build工作套接字,不止如此,你将从Socket.io中得到以下错误,这意味着没有缩放。
{“code”:1,“message”:“Session ID unknown”}
在我看来,WebSocket“支持”Heroku声称对开发者来说实在是一个残酷的玩笑。
编辑: Heroku支持websockets,但它不会用与Redis的socket.io群集。 所以我只运行一个专用于套接字的实例。 当我想用Heroku使用套接字。
披露:我是Heroku的Node.js平台所有者。
tl; dr:我们在私人testing版中提供了多测头socket.io支持。
Heroku完全支持WebSocket,它不需要会话关联,与socket.io不一样。
Socket.io是一个更高层次的软实时抽象,它使用WebSocket作为其众多潜在传输之一。 Socket.io 确实需要会话关联,并且socket.io(在Heroku或其他地方)的任何多节点事件共享实现都需要socket.io-redis(或类似的)。
粘滞会话的大多数实现都会打破12 因子体系结构 。 我们现在已经为socket.io,meteor和sockjs用户运行了一个灵活的,可扩展的flip-a-switch粘性会话testing版。 如果您想join,请发送电子邮件至hunter@heroku.com; 我们将在接下来的几周内向公众开放。