Ruby on rails 在RubyonRails中实现实时特性的最佳方法

Ruby on rails 在RubyonRails中实现实时特性的最佳方法,ruby-on-rails,ruby,Ruby On Rails,Ruby,最近,我一直在寻找一种实现实时更新网页的解决方案,例如,类似Twitter的新闻提要或实时聊天。我发现了一些方法,比如推送服务、faye,还有很多ruby宝石,比如private_pub或sync 问题在于,这种解决方案似乎不是一种完全正确的方法。Pusher是相当昂贵的,事实上我不喜欢在我的项目中使用其他服务。Faye看起来不安全,很难为其实现安全性。Private_pub的做法是正确的,但上一次在github上提交是在2013年,事实上它已经过时了 总而言之,我发现的方法似乎不是Rails初

最近,我一直在寻找一种实现实时更新网页的解决方案,例如,类似Twitter的新闻提要或实时聊天。我发现了一些方法,比如推送服务、faye,还有很多ruby宝石,比如private_pub或sync

问题在于,这种解决方案似乎不是一种完全正确的方法。Pusher是相当昂贵的,事实上我不喜欢在我的项目中使用其他服务。Faye看起来不安全,很难为其实现安全性。Private_pub的做法是正确的,但上一次在github上提交是在2013年,事实上它已经过时了

总而言之,我发现的方法似乎不是Rails初创公司的专业级解决方案。我提出了这样一个问题:我是否应该完全切换到NodeJS或其他技术,或者我可以将NodeJS应用程序集成到Rails应用程序中

总而言之,Rails框架是否有这样的解决方案,或者切换到其他技术是不可避免的?

可能是一个很好的选择。它目前在中用于实现实时更新

我也不确定你对费伊的安全顾虑到底是什么。如果一切都通过HTTPS运行,并且具有正确的CORS设置,那么您应该没有问题


对于混合节点/Rails解决方案,您可以将Rails应用程序中更新的某些列表(例如,post和要通知的列表)推送到Redis实例。订阅Redis的节点应用程序可以通知客户端请求返回Rails服务器以获取最新更新。

现在可能对您没有帮助,但在RailsConf上个月,DHH宣布Rails 5将通过名为ActionCable的新库添加对WebSocket的支持

这只是您所看内容的概述?这是一个web应用服务器+框架,具有本机WebSocket和RESTful路由支持。我不确定它是否已经投入生产,但它可能提供了socket.io的替代方案,允许您与Rails应用程序共享代码。通过一些工作,它可能能够为某些应用程序替换Rails。