Solo
is the new yet another library to manage a singleton across a BEAM cluster with zero downtime and VM brutal crash support.
Reimplementing failover/takeover for ECS has not turned into a cakewalk, unexpectedly. Existing libraries for singletons I managed to find out were not able to handle brutal VM/process crashes. I thought implementing it properly would take an hour, and apparently, it lasted almost 8 hours.
Welcome Solo
which is a robust singleton implementation across a cluster. The usage is as easy as wrapping several specs in the supervision tree into Solo.global/2
call. Enjoy.