3 ms·
I'm an Elixir developer, and I love the language, but I'm not sold on Phoenix LiveView. It sounds really cool, but it seems like there are too many edge cases.
by devoutsalsa 6y ago
I'm an Elixir developer, and I love the language, but I'm not sold on Phoenix LiveView. It sounds really cool, but it seems like there are too many edge cases. How do you scale it horizontally? What happens to user state when a connection is dropped? What do you do when you get a business requirement that hits one of LiveView's pain points? What if you have to swap out your backend for business reasons, and now you have to rewrite your frontend, too? I'm not trying to talk anyone out of LiveView; these are just the thoughts that prevent me from getting excited about it.
- dnautics 6y ago> How do you scale it horizontally If you're using Phoenix PubSub for your message queue, then it scales out automatically over PG2 clusters.
- ashton314 6y agoThere is now good support for keeping the data cashed client side, so that if your connection does drop, it can be restored once the connection is reestablished. That used to be a pain point, but as far as I have seen, it has been pretty well fleshed out now. This all happens mostly automatically, so you don’t have to worry about it. I think it’s just a parameter that you set to “true“.
- stephenhuey 6y agoMy understanding is that some kinds of horizontal scaling are much easier than in other languages and frameworks due to the clustering magic you get for free. https://elixirforum.com/t/phoenix-channels-horizontal-scalability/14196 https://elixirforum.com/t/phoenix-channels-horizontal-scalab... https://www.phoenixframework.org/blog/the-road-to-2-million-websocket-connections https://www.phoenixframework.org/blog/the-road-to-2-million-...