谁能告诉我与 Heroku 兼容的最佳 Ruby 聊天 gem/插件是什么?Node.js 可以用于此,Node.js 是否与 Rails 3 配合得很好?
2 回答
我正在努力将我的开源聊天 gem 升级为与 Heroku 兼容(希望很快)。它被称为疯狂的喋喋不休。很快您将能够轻松地将它与任何 Rails 应用程序集成。
Heroku 支持 HTTP 长轮询,但不支持 Web 套接字。Web Sockets 是一项伟大的新技术,但在 Heroku 支持它之前,您将需要寻找支持长轮询的 gem。
一种流行的解决方案是使用 Socket.io,但它适用于在 node.js 上运行。Juggernaut 像这样工作(作为 node.js 服务器),除了它将每条消息存储在 Redis 数据库中,以便您可以从 Ruby 访问它们。我对 Juggernaut 的唯一批评是,要启动和运行它涉及很多部分。
Faye 是一个支持长轮询的库,可以作为纯 Ruby 实现使用,可以选择使用 Redis 来存储消息。我选择使用 Faye 是因为部署依赖项更少。
我确信还有其他选择,但我知道 Faye 是一个非常受欢迎的解决方案。话虽如此,这些只是沟通的宝石。它们只是您的聊天应用程序的基础。根据您需要的功能类型,有几个不同的“聊天宝石”选项。但是通过使用 Faye,您可以实现自己的简单聊天应用程序。
Ruby on Rails的Juggernaut插件旨在通过让服务器启动连接并将数据推送到客户端来彻底改变您的 Rails 应用程序。 http://juggernaut.rubyforge.org/。