It's a cool feature that's no doubt amazing for applications that need it, but it brings a fair amount of complexity vs other deployment strategies.
Elixir/Erlang Hot Swapping Code (2016)
31–40 of 119 posts
Re: Elixir/Erlang Hot Swapping Code (2016)
#32Earlier quoted context omitted.
we had this wonderful thing in PHP where you would just save a .php file and bada bing it was LIVE. what happened? :D
They took away our access after one too many outages :yay:
Re: Elixir/Erlang Hot Swapping Code (2016)
#33Re: Elixir/Erlang Hot Swapping Code (2016)
#34Lisp has had this features since day 1. But Lisp-like langs like Clojure, Racket, etc. don't have it. This is one of the fundamental features of Common Lisp and I don't know why most other Lisp-wanna-be's don't implement it.
I manage a few websites written in Lisp, and updating them is as simple as push code, recompile and it works.
Re: Elixir/Erlang Hot Swapping Code (2016)
#35Earlier quoted context omitted.
Most of those hot fixes are data driven as in database updates. Gameserver just reload the data, the binary itself is not touch. I've never seen a game where they hot reload code inside the gameserver itself, it's usually a downtime or rolling updates.
> Most of those hot fixes are data driven as in database updates. Gameserver just reload the data, the binary itself is not touch. And since the data from the disk/database (whether it's a Lua table, XML structure, JSON object, or a query) is then representend as a low-level data structure, that's essentially what hot reloading is - you deserialize the new data and hot-swap the pointers in the simplest terms. >I've n…
By your definition every CRUD app have hot reloading capabilities.
Re: Elixir/Erlang Hot Swapping Code (2016)
#36i'm so sick of this DevOps bullshit i wonder if there is an alternative language that you can hot swap code and do all the black magic stuff while keeping the reliability and performance like Rust.
Erlang is not very fast, but that's not what it was built for.
Re: Elixir/Erlang Hot Swapping Code (2016)
#37Earlier quoted context omitted.
> Most of those hot fixes are data driven as in database updates. Gameserver just reload the data, the binary itself is not touch. And since the data from the disk/database (whether it's a Lua table, XML structure, JSON object, or a query) is then representend as a low-level data structure, that's essentially what hot reloading is - you deserialize the new data and hot-swap the pointers in the simplest terms. >I've n…
Yes but again it's not hot swapping code as in Erlang, the C++ code is unchanged, they just change some xml somewhere. By your definition every CRUD app have hot reloading capabilities.
Right, not on the C++ side, but on the Lua side that WoW uses - you load the new gameplay code that pulls the new data, and override the globals with new functions.
Re: Elixir/Erlang Hot Swapping Code (2016)
#38i'm so sick of this DevOps bullshit i wonder if there is an alternative language that you can hot swap code and do all the black magic stuff while keeping the reliability and performance like Rust.
I am shocked at the idea of anyone implying that Erlang is "unreliable"... it's entire reason for existence was to step up the game on reliability.
Re: Elixir/Erlang Hot Swapping Code (2016)
#39Allows the clients to remain connected and be none the wiser that there was an update at all.
For larger updates we just do hard restarts when in-memory data structures or supervision tree are changed.
Re: Elixir/Erlang Hot Swapping Code (2016)
#40Earlier quoted context omitted.
I am shocked at the idea of anyone implying that Erlang is "unreliable"... it's entire reason for existence was to step up the game on reliability.
I agree. I don't know much about Erlang but what I've heard seems to indicate it's used for high-uptime systems that handle errors well.