Apache NiFi с потоком веб-сокетов полезных нагрузок Google Flatbuffers - PullRequest
0 голосов
/ 06 июля 2018

Было ли что-то подобное сделано раньше? Если нет, то что может потребоваться для того, чтобы NiFi принял поток, поступающий через WebSocket с Google FlatBuffers?

(может ли простой поток TCP упростить или усложнить?)


UPDATE

У меня есть программа на C ++, работающая на узле, которая собирает данные и публикует их через паб / подканал nanomessage через веб-сокет. Данные в C ++ выглядят как структуры, и я сериализую их с помощью Google Flatbuffers. Это очень простая структура, подумайте о csv-записях. У нас есть член команды, который хочет получить эти данные с помощью NiFi и поместить их в базу данных.

Лично, поскольку Flatbuffers поддерживает преобразование двоичного файла в JSON, я думаю, что это почти проще, просто написать короткую программу на C #, python, java или javascript для получения флагов, открытия соединения с БД и выгрузки данных. (возможно, сначала преобразуйте в JSON, если необходимо).

1 Ответ

0 голосов
/ 11 июля 2018

Насколько мне известно, NiFi не имеет встроенной интеграции с библиотекой / протоколом nanomsg. Это, вероятно, потребует написания собственного процессора, способного потреблять пакеты nanomsg с использованием типов паттернов / сокетов nanomsg PUBSUB.

Можно использовать существующие процессоры, такие как Consume* процессоры (ConsumeKafka, ConsumeJMS), в качестве примера / руководства о том, как написать процессор, который принимает сообщения из темы / очереди, следующей за pub / sub шаблон.

Затем вы захотите преобразовать полезную нагрузку из двоичного файла Flatbuffers в формат, который можно вставить в нужную базу данных. Опять же, пользовательский процессор, использующий код, сгенерированный из вашей схемы Flatbuffer, вероятно, будет правильным подходом для этого.

Как вы упоминаете, это также может быть достигнуто с помощью простой программы. Если вы написали эту программу на Java (используя Java Nanomsg и библиотеки плоских буферов) в качестве прототипа / доказательства концепции, то в будущем она может быть преобразована в один или несколько пользовательских процессоров NiFi, если вы захотите перейти на NiFi.

...