我需要为我的Rails应用添加实时通知。以下是我发现的不同可能的架构。
1. Rails + Socket.io + Redis: 如此结构建议如下文章:
- 优点: 简洁,如果Socket.io宕机,不会丢失任何数据
- 缺点: 引入了多种技术(加强可维护性)
2. Rails + Socket.io: 使Rails成为Socket.io客户端,就像这个仓库所做的一样:https://github.com/lyondhill/socket.io-ruby-client
- 优点: 直观易懂
- 缺点: 依赖一个不太受欢迎的库
3. Ruby Faye: http://faye.jcoglan.com/ruby.html
- 优点: 100%的Ruby
- 缺点: 由于需要外部应用,Socket.io现在比Faye更成为行业标准。
4. ActionController::Live:http://edgeapi.rubyonrails.org/classes/ActionController/Live.html
- 优点: Rails中的应用程序方式
- 缺点: 太不成熟
问题:
- 现在是否有标准方法(我可能错过了)来做到这一点?
- 对于我的比较有什么想法(希望这不会被关闭)?