4 ms·
We use Elixir at DICE (https://dice.fm https://dice.fm) for event ticketing and discovery. We have a lot of burst traffic when big name events go on sale and el
by bluehatbrit 4y ago
We use Elixir at DICE (https://dice.fm https://dice.fm) for event ticketing and discovery. We have a lot of burst traffic when big name events go on sale and elixir handles it really well.
What do we like about it? We actually moved from Go and have nearly removed all Go code from the platform now. Because of our burst traffic we want a really efficient platform that gives everyone a good chance to get the tickets they want. Go gave us this but it wasn't great on dev productivity. Elixir has been a real sweet spot for us. You could build our product with any language/framework/platform really, but most of our devs are from a ruby background so Elixir was a natural choice for us when we knew Ruby would be too frustrating to make efficient enough to match our Go implementation.
We deploy onto k8s using helm charts and a custom deploy tool using a k8s operator. We use an umbrella project to organise our mono-repo and currently just re-deploy everything together as that's fine for our size of a team.
We're not using live view, but we are using absinthe (graphql library) and react frontend libraries. Our projects started before live view and the setup works well so we don't really have any need to change.
- moomoo11 4y agoHow is the performance (cpu and memory wise as well) compared to Go? In my case I have existing Go and Node code.
- bluehatbrit 4y agoIt's pretty hard to say without being really case specific to be honest. You'd be better off creating a minimal example of your work in all 3 and comparing them with some kind of load test. For us we find we can handle huge amounts of requests very effectively but we also lean heavily on postgres which is hard to remove from the equation for us. I'm not really a huge fan of arbitrary benchmarks as they're often not equally optimised for each platform being tested. Elixir and BEAM are optimised for distributed computing work though, so multiple web requests coming it and taking on a process of their own is a perfect fit though.