Важно: Данный раздел актуален для Платформы данных в Публичном облаке и On-Premise.
Настоящий документ включает описание системы RT.StreamingNiFi, ее возможности и архитектурные особенности.
Документ может быть полезен администраторам, программистам, разработчикам и сотрудникам подразделений информационных технологий, осуществляющих внедрение и сопровождение системы.
Наименование системы: RT.StreamingNiFi.
RT.StreamingNiFi — инструмент интеграции данных, обеспечивающий удобный интерфейс для проектирования и управления потоками данных между системами. Он поддерживает широкий спектр источников и мест приземления данных, включая базы данных, очереди сообщений и облачные сервисы.
RT.StreamingNiFi является полезным и быстрым решением для проблем, связанных с потоком данных от одного или нескольких эндпоинтов к другому, которые требуют некоторой маршрутизации, манипуляций или валидации на этом пути. Функциональные возможности обеспечиваются встроенными процессорами. Каждый процессор выполняет конкретную задачу в потоке данных в целом.
Вот наиболее распространённые варианты использования RT.StreamingNiFi:
RT.StreamingNiFi может использоваться в различных отраслях и в различных целях организаций, например:
В настоящем документе использованы и определены следующие термины и сокращения:
Термин\сокращение | Определение |
---|---|
RT.StreamingNiFi | |
DataFlow Manager, DFM, Менеджер потока данных | Пользователь RT.StreamingNiFi, у которого есть разрешения на добавление, удаление и изменение компонентов потока данных RT.StreamingNiFi. |
FlowFile, Поток данных |
FlowFile представляет собой отдельный фрагмент данных в RT.StreamingNiFi. FlowFile состоит из двух компонентов: атрибутов FlowFile и содержимого FlowFile. Содержимое — это данные, представленные FlowFile. Атрибуты — это характеристики, которые предоставляют информацию или контекст данных; они состоят из пар ключ-значение. Все FlowFiles имеют следующие стандартные атрибуты:
|
Processor, Процессор | Компонент RT.StreamingNiFi, который используется для прослушивания входящих данных; извлечения данных из внешних источников; публикации данных во внешних источниках; а также маршрутизации, трансформации или извлечения информации из FlowFiles. |
Relationship, Связь | Для каждого процессора определено ноль или более связей. Эти связи названы так, чтобы указать результат обработки FlowFile. После того, как процессор завершит обработку FlowFile, он направит FlowFile в одну из связей. Затем DFM может связать каждую из этих связей с другими компонентами, чтобы указать, куда FlowFile должен идти дальше при каждом потенциальном результате обработки. |
Connection, Соединение | DFM создаёт автоматический поток данных, перетаскивая компоненты из панели Components Toolbar RT.StreamingNiFi на рабочую область, а затем соединяя компоненты вместе с помощью соединений. Каждое соединение состоит из одной или нескольких связей. Для каждого нарисованного соединения DFM может определить, какие связи следует использовать для соединения. Это позволяет маршрутизировать данные различными способами в зависимости от результата их обработки. Каждое соединение содержит очередь FlowFile. Когда FlowFile передаётся в определённое соединение, он добавляется в очередь, принадлежащую связанному соединению. |
Controller Service, Служба контроллера | Точки расширения, которые после добавления и настройки с помощью DFM в пользовательском интерфейсе запускаются при запуске RT.StreamingNiFi и предоставляют информацию для использования другими компонентами (например, процессорами или другими службами контроллера). Общей службой контроллера, используемой несколькими компонентами, является StandardSSLContextService. Он предоставляет возможность один раз настроить свойства хранилища ключей и/или хранилища доверенных сертификатов и повторно использовать эту конфигурацию во всём приложении. Идея состоит в том, что вместо того, чтобы настраивать эту информацию в каждом процессоре, которому она может понадобиться, служба контроллера предоставляет её любому процессору для использования по мере необходимости. |
Reporting Task, Задача отчётности | Задачи отчётности выполняются в фоновом режиме и предоставляют статистические отчёты о том, что происходит в инстансе RT.StreamingNiFi. DFM добавляет и настраивает задачи отчётности в пользовательском интерфейсе по желанию. Общие задачи создания отчётов включают задачу создания отчётов ControllerStatusReportingTask, задачу создания отчётов MonitorDiskUsage, задачу создания отчётов MonitorMemory и StandardGangliaReporter. |
Parameter Provider, Поставщик параметров | Поставщики параметров могут предоставлять параметры из внешнего источника в контексты параметров. Параметры поставщика параметров могут быть выбраны и применены ко всем ссылающимся контекстам параметров. |
Funnel, Воронка | Компонент RT.StreamingNiFi, который используется для объединения данных из нескольких соединений в одно соединение. |
Process Group, Группа процессов | Когда поток данных становится сложным, часто полезно рассуждать о потоке данных на более высоком, более абстрактном уровне. RT.StreamingNiFi позволяет группировать несколько компонентов, таких как процессоры, в группу процессов. Пользовательский интерфейс RT.StreamingNiFi затем позволяет DFM легко соединить несколько групп процессов в логический поток данных, а также позволяет DFM входить в группу процессов, чтобы видеть и манипулировать компонентами внутри группы процессов. |
Port, Порт | Потоки данных, созданные с использованием одной или нескольких групп процессов, нуждаются в особом способе соединения группы процессов к другим компонентам потока данных. Это достигается за счёт использования портов. DFM может добавлять любое количество входных и выходных портов в группу процессов и соответствующим образом называть эти порты. |
Remote Process Group, Группа удалённых процессов | Точно так же, как данные передаются в группу процессов и из неё, иногда необходимо передавать данные из одного инстанса RT.StreamingNiFi в другой. Хотя RT.StreamingNiFi предоставляет множество различных механизмов для передачи данных из одной системы в другую, группы удалённых процессов часто являются самым простым способом сделать это при передаче данных в другой инстанс RT.StreamingNiFi. |
Bulletin, Бюллетень | Пользовательский интерфейс RT.StreamingNiFi обеспечивает значительный объём мониторинга и обратной связи о текущем статусе приложения. В дополнение к скользящей статистике и текущему статусу, предоставляемому для каждого компонента, компоненты могут сообщать в бюллетени. Каждый раз, когда компонент сообщает о бюллетене, на этом компоненте отображается значок бюллетеня. Бюллетени системного уровня отображаются в строке состояния в верхней части страницы. При наведении указателя мыши на этот значок появится всплывающая подсказка, показывающая время и серьёзность (Debug, Info, Warning, Error) бюллетеня, а также сообщение бюллетеня. Бюллетени всех компонентов также можно просматривать и фильтровать на странице Bulletin Board, доступной в глобальном меню. |
Template, Шаблон | Часто поток данных состоит из множества подпотоков, которые можно использовать повторно. RT.StreamingNiFi позволяет DFM выбирать часть потока данных (или весь поток данных) и создавать шаблон. Этому шаблону присваивается имя, и его затем можно перетаскивать на рабочую область, как и другие компоненты. В результате несколько компонентов можно объединить вместе, чтобы создать более крупный строительный блок, из которого можно создать поток данных. Эти шаблоны также можно экспортировать в формате XML и импортировать в другой инстанс RT.StreamingNiFi, что позволяет совместно использовать эти строительные блоки. |
flow.xml.gz | Всё, что DFM помещает на рабочую область пользовательского интерфейса RT.StreamingNiFi, записывается в реальном времени в один файл под названием flow.xml.gz. По умолчанию этот файл находится в каталоге nifi/conf. Любые изменения, внесенные на рабочую область, автоматически сохраняются в этом файле, и пользователю не нужно нажимать кнопку Save. Кроме того, RT.StreamingNiFi автоматически создаёт резервную копию этого файла в каталоге архива при его обновлении. Вы можете использовать эти архивные файлы для отката конфигурации потока. Для этого остановите RT.StreamingNiFi, замените flow.xml.gz желаемой резервной копией, затем перезапустите RT.StreamingNiFi. В кластерной среде остановите весь кластер RT.StreamingNiFi, замените flow.xml.gz одной из нод и перезапустите ноду. Удалите flow.xml.gz с других нод. Убедившись, что нода запускается как кластер из одной ноды, запустите остальные ноды. Заменённая конфигурация потока будет синхронизирована по всему кластеру. Имя и расположение файла flow.xml.gz, а также поведение автоматического архивирования можно настроить. |
Canvas, Рабочая область | Свободное пространство сетки, на котором вы создаёте свой поток данных. Доступ к нему осуществляется через пользовательский интерфейс RT.StreamingNiFi. Для создания потока необходимо перетаскивать процессоры на рабочую область. |
NiFi Registry | Сопутствующий проект RT.StreamingNiFi, который обеспечивает контроль версий в стиле Git для потоков RT.StreamingNiFi. Он работает как отдельный сервис для RT.StreamingNiFi, предоставляя собственный веб-интерфейс для управления. RT.StreamingNiFi подключается к службе NiFi Registry через клиент реестра, настроенный через веб-интерфейс RT.StreamingNiFi. |
Parameter, Параметр | Переменная уровня группы процессов, которая статически настраивается внутри контекста параметра. Параметры могут дополнительно содержать чувствительные значения. На параметры можно ссылаться по имени внутри конфигурации процессора с использованием синтаксиса #{name}. Значение параметра оценивается во время запуска ссылающегося процессора, и процессор(ы) должен быть остановлен, прежде чем значение параметра можно будет изменить. |
Parameter Context, Контекст параметра | Контейнер для одного или нескольких параметров. Контекст параметра может быть прикреплён к одной или нескольким группам процессов, но группа процессов может иметь только один контекст параметра. Процессор может ссылаться на параметры только в контексте параметров, который прикреплён к его группе процессов. Это предпочтительный метод для статических переменных в RT.StreamingNiFi, при этом Variable Registry считается устаревшим. |
Root Canvas, Корневая рабочая область | Первая рабочая область, которая представляется пользователю при доступе к веб-интерфейсу RT.StreamingNiFi. Это рабочая область корневой группы процессов (Root Process Group). |
Variable Registry, Реестр переменных | Контейнер для одной или нескольких статических переменных, которые устанавливаются вне потока. Они не могут быть изменены процессорами, и их значение оценивается во время запуска процессора. Реестр переменных считается устаревшим, и вместо него следует использовать параметры. |
RT.StreamingNiFi — инструмент интеграции и автоматизации потоков данных, который обеспечивает следующие ключевые возможности:
Эти ключевые возможности предоставляются лёгким в использовании, безопасным, отлично масштабируемым, подходящим под различные требования обработки и передачи данных способом. RT.StreamingNiFi может быть развернут локально, в облаке или в гибридных средах.
RT.StreamingNiFi — инструмент, позволяющий интегрировать системы и управлять потоками данных между ними с помощью визуального интерфейса без написания кода.
Поток данных выстраивается путём перетаскивания встроенных компонентов на рабочую область и соединения их с другими компонентами или эндпоинтами. Вот имеющиеся компоненты:
Поток RT.StreamingNiFi переносит данные от начала до конца потока в виде фрагментированного файлового содержимого — FlowFile (Файл потока).
Файл потока состоит из содержимого файла потока и атрибутов файла потока. Содержимое файла потока — содержимое данных файла, например, содержимое текстового файла. Атрибуты файла потока — метаданные, прикреплённые к каждому файлу потока, представленные в парах «ключ-значение». Эти атрибуты иногда устанавливаются самими процессорами для указания определённых свойств или состояния файла потока, но ими также может управлять сам разработчик потока.
Каждый файл потока можно визуально отследить в интерфейсе RT.StreamingNiFi по отображаемым счётчикам по мере его прохождения через поток. Мы даже можем просмотреть содержимое и атрибуты самого файла потока, когда он находится в очереди потока.
RT.StreamingNiFi выполняется внутри JVM в операционной системе хоста. Основные компоненты RT.StreamingNiFi на JVM следующие:
RT.StreamingNiFi также может работать внутри кластера.
Начиная с версии 1.0, используется парадигма кластеризации с нулевым лидером. Каждая нода в кластере RT.StreamingNiFi выполняет одни и те же задачи с данными, но каждая работает с разным набором данных. Zookeeper выбирает одну ноду в качестве координатора кластера, а аварийное переключение выполняется автоматически с помощью Zookeeper. Все ноды кластера передают координатору кластера heartbeat-сообщения и информацию о состоянии. Координатор кластера отвечает за отключение и подключение нод. Кроме того, в каждом кластере есть одна основная нода, также выбираемая Zookeeper. Как DFM, вы можете взаимодействовать с кластером RT.StreamingNiFi через пользовательский интерфейс любой ноды. Любое вносимое вами изменение реплицируется на все ноды кластера, что позволяет использовать несколько точек входа.