I need to add realtime notifications to my Rails app. Here are the different possible architectures I have found.
1. Rails + Socket.io + Redis: As suggested in this post, having the following architecture:
- Pro: Clean, no data is lost if Socket.io is down
- Con: Introduces several technologies (hardens maintainability)
2. Rails + Socket.io: Making Rails a Socket.io client, as this repo seems to do: https://github.com/lyondhill/socket.io-ruby-client
- Pro: Straightforward
- Con: Relying on a unpopular library
3. Ruby Faye: http://faye.jcoglan.com/ruby.html
- Pro: 100% Ruby
- Con: Since an external app is required, Socket.io is much more an industry standard than Faye right now.
4. ActionController::Live: http://edgeapi.rubyonrails.org/classes/ActionController/Live.html
- Pro: The Rails in app way
- Con: Too immature
Questions:
- Is there a standard way (I'd have missed) to do that nowadays?
- Any thoughts on my comparison (hope this doesn't get closed)?