libcluster
Automatic cluster formation/healing for Elixir applications
libcluster provides automatic cluster formation and node discovery for Erlang/Elixir applications, removing the manual steps typically required to connect distributed nodes. It ships with multiple pluggable strategies—such as DNS polling, Kubernetes integration, EC2 metadata/tag discovery, UDP gossip, and EPMD helpers—so you can adapt clustering to your runtime environment. The library supervises a topology process that continually discovers peers and joins or prunes nodes as they become available or disappear. Its design embraces OTP principles: strategies implement a behavior, can be composed, and run under supervision for resilience. libcluster also emits events on nodeup/nodedown, allowing applications to react (for example, rebalance work or update registries) when membership changes. Because it relies on the BEAM’s native distribution, it integrates cleanly with Phoenix PubSub, Horde, Oban, or any other distributed Elixir tooling.