...

/

Homogeneous vs. Heterogeneous Systems

Homogeneous vs. Heterogeneous Systems

Compare the advantages and disadvantages of homogeneous and heterogeneous systems in this lesson.

Avoiding heterogeneous systems with Elixir

Thanks to Erlang, Elixir excels at building homogeneous systems, which are systems where all nodes are running exactly the same code. In this lesson, we explore the alternative. Two completely different codebases that use a common communication protocol is a heterogeneous system. Typically, you won’t build one with Erlang/Elixir for a number of reasons:

  • The Erlang distribution keeps a fully-meshed network. Fully-meshed systems mean any node can talk to any other node in the system. In such a system, nodes having nothing in common may end up directly connected. For example, if system B needs to talk to systems A and C, systems A and C will end up connecting by default. The runtime supports hidden nodes but that will require more work on your end. ...