In Erlang and Elixir applications, the structure is imposed using top-level “supervisor” processes that start other processes in your application. These other processes may include other leaders who also have their own children, and this recursive structure takes the form of a tree, which means “observation tree”. Process control is what Erlang / Elixir provides fault tolerance functions because failure is isolated from any branch of the tree, where the supervisor of this branch can either restart failed children or allow itself to fail, to the next top leader in the tree.
source
share