Heroku 托管 Web 服务的 Juggernaut/Faye 与 Pusher?

Posted

技术标签:

【中文标题】Heroku 托管 Web 服务的 Juggernaut/Faye 与 Pusher?【英文标题】:Juggernaut/Faye vs. Pusher for a Heroku hosted web service? 【发布时间】:2012-02-26 17:46:22 【问题描述】:

如果我理解正确的话,剑圣是建立在 socket.io 之上的,而 Faye 与剑圣层和 socket.io 层相结合。最近 Ryan Bates 提出了一个名为 PrivatePub 的 Faye 包装器,这使得运行 Faye 变得非常容易。

但我已经有一个在 Heroku 上运行的 rails 应用,我想做的就是在它之上构建一个简单的聊天功能。

在研究过程中,我发现很多人使用 Pusher。 Heroku 似乎很好地支持 pusher,所以我正在考虑使用 Pusher。

在我开始之前,我只是想确保我理解正确。 Pusher 是否像用于推送请求的 Heroku?我的选择是在 Heroku 上托管所有内容(包括 Juggernaut 或 Faye 模块),或者只是在 Heroku 上托管网站的静态部分并将推送通知处理委托给推送器。

据我所知,这感觉像是一种更有效的方法,因为: 1. 如果我使用 pusher,我不必为了在 Heroku 上运行 juggernaut/faye 模块而跳过所有的障碍。 2. 实时流量将委托给Pusher,这意味着我不会浪费我的Heroku服务器的资源。

现在我只是一个初学者,可能很多事情都错了,但请赐教。以上两个因素对吗?我对 Juggernaut/Faye/Pusher 的理解是否正确?

【问题讨论】:

【参考方案1】:

感谢您在 Heroku 上询问 Faye/Socket.IO/Juggernaut/Pusher。我会尽力回答你的问题。所以你已经在 Heroku 上运行了一个 App on Rails。您需要了解更多关于通过始终在线连接添加实时更新的路径。您列出的所有选项都适用于此。 Faye/Juggernaut 需要一些时间来设置,但提供相同的最终结果。 Pusher 就像它自己的 Heroku,与 Heroku 分开,很容易添加到您的应用中。

您的问题和答案:

    Pusher 是否像 Heroku 一样用于推送请求?:是的。 Pusher 是一个单独的服务,它有一个单独的定价模型,与您的主要 Heroku 账单脱钩。 (虽然 Heroku + Pusher 合并为一个月度报表) 实时流量将委托给 Pusher,不会浪费您的 Heroku 资源:是的。 以上两个因素是否正确?:是。 我对 Juggernaut/Faye/Pusher 的理解是否正确?:是的。

如果您想了解更多关于 Faye、Ryan Bates 和 Real-time 的信息,请点击以下链接:

直接在 Heroku 上运行 Faye:https://github.com/ntenisOT/Faye-Heroku-Cedar-RedisToGo 视频:Ryan Bates 的 Faye 私人酒吧:http://railscasts.com/episodes/316-private-pub GITHUB:https://github.com/ryanb/private_pub

【讨论】:

【参考方案2】:

您可以在 heroku 上运行 juggernaut node.js 服务器。 如果您使用的是 juggernaut gem,您可能需要在原始 heroku 应用程序和 juggernaut 应用程序之间共享一个 redis 数据库。

【讨论】:

以上是关于Heroku 托管 Web 服务的 Juggernaut/Faye 与 Pusher?的主要内容,如果未能解决你的问题,请参考以下文章

Heroku discord bot 托管错误 R10(启动超时)-> Web 进程在启动后 60 秒内无法绑定到 $PORT

Heroku 托管问题(不和谐机器人)

如何将 Apple 推送通知支持添加到 Heroku 上的自托管 Parse 服务器?

无法将 AWS-Postgres 服务器与带有 heroku 托管的 Spring Boot 应用程序连接起来

禁止在 heroku 中托管 laravel 应用程序时,您无权访问此 xampp 服务器上的 /

用于简单 HTML/JS 应用程序的 Heroku 托管