Я понимаю, что с NiFi, как их определяет его документ, «Постоянное улучшение происходит в производстве». Таким образом, это не может использоваться как традиционный инструмент разработки. Однако для проекта, над которым я работаю, было решено, что это инструмент, который мы будем использовать, поэтому я бы предпочел не обсуждать достоинства этого, поскольку понимаю, что будут какие-то проблемы.Жизненный цикл разработки для Apache NiFi
Например, если я ввожу изменения в существующую среду (от постановки на производство), и в месте назначения были живые изменения, они будут перезаписаны. Поэтому у меня есть вопросы о том, как организовать жизненный цикл разработки.
- Можно ли объединить изменения, которые были сделаны несколько разработчиками параллельно (слияние экспортируемых файлов шаблоны XML)? Я предполагаю, что слияние каких-либо значительных изменений может быть затруднено, но не пыталось это сделать.
- Как до управлять версированием изменений? Я предполагаю, что вы можете экспортировать всю свою конфигурацию в качестве шаблона и проверить это на контроль версий?
- Как сделать развернуть поток на другой сервер? Можете ли вы просто развернуть развертывание NiFi на складе, а затем обновить его из экспортированного шаблона (как упоминалось выше), используя API-интерфейс NiFi REST?
- Как управлять развертыванием в различной среде, которая может иметь различной конфигурации? Вам нужно обновить XML-файл шаблона? Или я могу динамически его вытащить из чего-то вроде Zookeeper?
Похоже, [1], [2] и [3] еще не реализованы. Можете ли вы дать информацию о том, как вы решите указанные проблемы в текущей версии? Я думаю, что сейчас люди просто импортируют и экспортируют шаблоны. Это имеет некоторые недостатки, например. нет реальной опции обновления, вы можете просто удалить старую версию и прочитать новую. –
Вы правы, нет истинного варианта обновления (для существующей группы процессов). Сегодня общий шаблон состоит в том, чтобы нажать новую версию группы процессов, а затем изменить соединения, которые подают эту группу. Это можно сделать с помощью пары вызовов REST программно. Реестр apache nifi для управления потоками, переменные группы процессов и компоненты с версиями все еще ведутся с последними двумя в последней версии. В следующей версии, скорее всего, будет включен реестр apache nifi для версий с версиями, и в этот момент вы получите истинное обновление! Должно быть очень круто. –