В Erlang, что лучший способ состоит в том, чтобы обновить распределенную систему? [закрытый]

Иначе:

raise SystemExit
6
задан TP. 25 July 2009 в 11:39
поделиться

2 ответа

Хотя Erlang поддерживает горячую загрузку кода, это не то, что нужно использовать. В вашем случае кажется, что проще удалить по одному узлу из балансировщика нагрузки, перезапустить его с новым кодом и вернуть обратно в балансировщик нагрузки.

Выключение узлов - это тоже то, к чему вы должны быть готовы если вы захотите выполнить «горячее» обновление до новых выпусков Erlang / OTP в вашей действующей системе.

Но настоящая проблема, которая может возникнуть у вас, - это те проблемы, которые исходят от mnesia. Я думаю, вам следует задать новый вопрос с конкретикой того, что нужно делать Mnesia. Если нет изменений схемы / таблицы, и вы просто хотите удалить один узел и добавить его позже. Или если вы действительно вводите новые таблицы или новые столбцы в таблицах. Mnesia действительно предоставляет возможность добавлять и удалять узлы с репликами таблиц,

4
ответ дан 17 December 2019 в 04:50
поделиться

Если вы просто обновляете код, я написал статью о обработке выпусков erlang с помощью fab . С помощью этой настройки вы можете выполнять загрузку кода в реальном времени без перезапуска узлов. Однако преобразование базы данных должно выполняться с одного узла, запускаемого отдельно от обновления выпуска.

1
ответ дан 17 December 2019 в 04:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: