все ноды. А если нода добавляется динамически - нужно обновлять все ноды или только новая нода должны знать всех других? Как решается это проблема при использовании докера?
про какой именно рафт речь, rabbitmq/ra?
мы еще не разобрались, в процессе. по идее, новая нода должна знать хотя бы одну старую и иметь возможность к ней подцепиться, а дальше - dynamic cluster membership в доках ra
Спасибо, посмотрю
как на это сверху ляжет докер - это интересный вопрос, но если брать максимально стандартную конфигурацию - надо экспортировать(-p докера) порт epmd, выставить inet_dist_listen_min/inet_dist_listen_max в vm.args релиза на какой-то определенный рейндж, и этот рейндж тоже экспортировать.
Получается чтобы добавить новую ноду динамически на одной из нод нужно выполнить ra:add_member/2 ?
в доках пишут примерно так, да, но - часть про ra пишу не я, и поэтому сам не проверил, нужно это делать на уже запущенной ноде кластера, или можно на подключающейся
Спасибо. Да, про то как это в докер делать пока совсем не представляю)
у меня лично апи dynamic cluster membership вызывает пока больше вопросов, оно очень мутное
с докером всё более-менее понятно - если брать стандартный конфиг интерконнекта, нужно чтобы 1 - хостнеймы нод резолвились в правильные адреса 2 - на этих адресах висел epmd и был доступен из соседнего контейнера 3 - между контейнерами были открыты порты интерконнекта, лучше фиксированные через inet_dist_listen_min/max это вроде бы главное, если я ничего не забыл
что-то я чем дальше о нем думаю, тем меньше оно мне кажется рабочим вариантом https://github.com/rabbitmq/ra-kv-store/blob/master/src/ra_kv_store_app.erl#L60 %% only the smallest node declares a cluster %% Repeated startup attempts will fail even if the cluster is formed, has elected a leader %% and is fully functional. {ok, ServersStarted, _ServersNotStarted} = ra:start_cluster(ClusterName, Machine, ServerIds), у меня складывается такая картина в голове, что в ra предполагается, что основной конфиг кластера всё же статический, а dynamic membership - это для случаев расширения без остановки
Да, у нас ожидается, что ноды будут добавляться динамически. Может быть подойдет и основной конфиг + динамически.. Буду пробовать
А вы на докер перешли?
Привет. Не, это я на новое место перешла)
Обсуждают сегодня