3 ms·
We're building an app for a startup right now. Most of the application is a microservices architecture designed in Ruby/Rails (primarily using rails-api). The
by knewter 12y ago
We're building an app for a startup right now. Most of the application is a microservices architecture designed in Ruby/Rails (primarily using rails-api). There's a need for a realtime communication piece though.
We've built websocket apps in Ruby with Celluloid before, and they started to be hard to manage after 5k concurrent connections. I expect to have to break that hurdle pretty quickly with this app, so we built an Elixir websockets component for this. We just push messages onto RabbitMQ from Ruby, and then we subscribe to those queues and retransmit them down client websockets where appropriate on the elixir side.
It's a very nice approach, and an good reason to put Elixir in your stack if you have a similar situation. The Elixir code is around 100 lines of code sitting on top of Phoenix, and very easy to maintain and expand upon.
(Also, I'm the guy that created the survey and that does ElixirSips)