С вашего позволения немного разбавлю дискуссию про дела эйчарные вопросом про дела технические. Как-то так сложилось, что никогда задумывался как по-уму делать RPC между микросервисами в случае эрланг кластера (как-то всё http использовалось), т.е. как правильно это организовать, чтобы можно было балансировку между нодами иметь из коробки, обработку недоступности нод ну и т.д. Может какие уже готовые библиотеки есть? Поделитесь опытом, кто такие вещи уже делал/использовал.
на мой взгляд лучше бы изменили немного логику поведения epmd. в своей реализации на go я сделал следующим образом - 1. epmd является встроенным в ноду 2. при старте ноды, если на хосте нет epmd, он запускает встроенный epmd 3. если нода останавливается и на хосте есть другие ноды, то каждая из них пытается активировать свой epmd (начать слушать порт кластера) 4. если встроенный epmd не успел занять порт, то нода переходит в режим клиента epmd
в такой схеме нет потребности рестартить весь кластер, если epmd внезапно умер. допускаю, что мог упустить какой-нибудь кейс. если кто подскажет, буду признателен