Автоматическое подключение к кластеру erlang - PullRequest
0 голосов
/ 04 ноября 2018

У меня есть приложение erlang, которое мне нужно будет запустить распределенным способом.

Теперь, чтобы сформировать кластер, узлам erlang необходимо использовать одно и то же значение cookie, и для подключения можно использовать любой из следующих подходов -

net_adm: настольный / 1

net_kernel: connect_node / 1

но при этом мне нужно будет поддерживать список узлов, а также обрабатывать аварийное переключение по своему усмотрению. Даже в случае сбоя, как узнать, к какому узлу подключиться, так как начальный список узлов мог быть изменен до этого момента.

Так что любой может предложить, как сформировать кластер erlang с минимальными усилиями, и будущие узлы могут присоединиться к кластеру автоматически, не предоставляя фактический список узлов.

1 Ответ

0 голосов
/ 05 ноября 2018

Существует не так много 100% надежных решений для этого. Многие из нас время от времени внедряют наши собственные решения. Я делал это, по крайней мере, 3 раза в жизни.

2 из них, я использовал внешнюю базу данных (один раз Redis, один раз MySQL), где я регистрировал и незарегистрировал текущие живые узлы.

Другая возможность, я использовал net_adm:world() и .erlang.hosts. Взгляните на документы для этого.

Мне также известны некоторые проекты, работающие над обобщением такого рода инструмента: я думаю, что Erlang Solutions работала в одном, и я не уверен, что LASP или Partisan или что-то другое - инструмент Криса Мейклджона. Вы должны проверить это.

...