2014-01-15 1 views
1

В distributed system есть мастер, который запускает пустую станцию ​​с slave-сервером . Он использует lager для регистрации сообщений на хозяином, клиенты отправляют сообщения журнала ведущему, а мастер регистрирует их.Нажатие приложений на подчиненные узлы erlang

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

Я пытался, начиная независимое приложение лагер на подчиненных узлах, но он жалуется он не может найти файл приложения для него: ошибку, { «нет такого файла или каталога», «goldrush.app»} (GOLDRUSH является зависимостью лагеря).

Каким образом эти приложения должны распространяться среди подчиненных?

ответ

0

Применения предпочтительно должны распространяться как часть выпуска Erlang. Это означает создание выпуска с Reltool, Rebar или Relx. Благодаря такому процессу вы всегда будете иметь нужные приложения (если ваше приложение правильно зависит от других приложений, таких как Lager).

Другим вариантом является обеспечение того, чтобы приложение (и его зависимости) существовало в целевой системе перед его запуском. Это более ручной подход, но может быть, например, вытащить исходное репо и запустить rebar get-deps среди других команд, чтобы правильно построить систему. Как только все зависимости загружаются и создаются, вы можете запустить систему.

Невозможно направить приложения Erlang на другой узел через сам Erlang. С помощью трюков можно отправлять отдельные модули Erlang поверх проводов в виде двоичных файлов. Это не рекомендуется для приложений, потому что они могут зависеть от гораздо большего (например, файлов приложений и частных данных).

Итог: Вы должны убедиться, что приложение и его зависимости существуют на цели самостоятельно, посредством собственной процедуры развертывания.

Смежные вопросы