为什么你可以在Heroku上使用基于Websockets的服务,例如Pusher?

时间:2013-04-29 17:31:53

标签: ruby-on-rails heroku pusher

Heroku不提供(尚未)Websockets并依赖长轮询(see here)。

所以我很惊讶地看到有an addon for Pusher这是一个Websockets实时消息服务(用于实时应用)

怎么可能? Herus堆栈上的Pusher是否真的使用Websockets,或者它们实际上只提供Heroku上的长轮询?

我可能在这里遗漏了一些东西......

2 个答案:

答案 0 :(得分:2)

Pusher是第三方应用。他们有自己的基础设施,可以做websockets。它们只是heroku客户可以使用的服务。他们没有“在”heroku上运行。

答案 1 :(得分:1)

米奇正确地告诉你了。我目前正在使用Pusher在Heroku网络上构建应用程序。它不在您的Heroku服务上托管。打开的websockets位于Pusher的服务器和客户之间。您将希望传播的信息发送给客户,并将其发送给您指定的任何渠道。您的Heroku服务器和Pusher不需要彼此打开连接。因为您告诉Pusher您要发送哪些信息,以及它在服务器上打开的连接。它可能不是日志运行中最便宜的选项。但是对于快速原型设计,或者只是不想处理您自己的即时数据传输解决方案,Pusher确实运行良好。