2015-03-13 4 views
0

Я хотел бы запустить Spring-XD в распределенной настройке. Часть обработки обычно имеет место в любом из доступных контейнеров. Если у меня есть 100 контейнеров, манифест должен быть доступен во всех контейнерах, поскольку мы точно не знаем, в какой контейнер может быть развернуто задание. Сохранение манифеста/кода во всех контейнерах является единственным решением? Предложите способ, чтобы манифест использовался только контейнером, в котором он выполняется.spring-xd Решение для развертывания?

ответ

0

Есть две разные вещи, которые могут быть развернуты:

(A) можно развернуть поток формы source | ... | sink вместе с развертыванием манифеста через оболочку с помощью stream create (...). В манифесте развертывания можно указать тип узлов, в которых ожидается запуск модулей потока.

(B) можно развернуть пользовательские модули, которые вы написали сами к XD-установки в каталог xd/modules/source, xd/modules/sink, xd/modules/processor и т.д.

Если вы имеете в виду (А):

Демонстрационные манифесты заданий или потоков хранятся в виде постоянных узлов в Zookeeper автоматически, когда поток определен. Процесс Zookeeper работает только на одном или нескольких машинах в зависимости от вашей установки. Смотрите этот раздел руководства Spring XD:

http://docs.spring.io/spring-xd/docs/current/reference/html/#_zookeeper_overview

Я бы не беспокоиться о том, как распределяется манифест развертывания. Это должно просто работать из коробки.

Если вы имеете в виду (B)

Затем вы можете развернуть модуль для всех узлов с помощью одной команды в весенне-оболочки ж^набрав module upload --file ....

Смотрите здесь: http://docs.spring.io/spring-xd/docs/current/reference/html/#install-the-source-module

Вы также можете настроить свои рабочие прочитать ваше пользовательское определение модуля из общей файловой системы. Тем не менее, это приведет к единственной точке отказа (файловой системе).

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