Apache nifi ApacheNIFI与Websocket的GoogleFlatBuffers有效负载流

Apache nifi ApacheNIFI与Websocket的GoogleFlatBuffers有效负载流,apache-nifi,Apache Nifi,以前做过类似的事情吗?如果不是的话,让NiFi接收通过GoogleFlatBuffers的WebSocket到达的流会涉及到什么 (一个简单的TCP流会使它更容易还是更难?) 更新 我有一个C++程序,它运行在一个节点上,它通过WebSoCo收集数据并通过NoMeMeSePub/子通道发布它。C++中的数据看起来像结构,我用谷歌平板缓冲区来序列化它。这是一个非常简单的结构,想想csv记录。我们有一个团队成员希望用NiFi捕获这些数据并将其放入数据库 就个人而言,由于Flatbuffers支持将

以前做过类似的事情吗?如果不是的话,让NiFi接收通过GoogleFlatBuffers的WebSocket到达的流会涉及到什么

(一个简单的TCP流会使它更容易还是更难?)


更新

我有一个C++程序,它运行在一个节点上,它通过WebSoCo收集数据并通过NoMeMeSePub/子通道发布它。C++中的数据看起来像结构,我用谷歌平板缓冲区来序列化它。这是一个非常简单的结构,想想csv记录。我们有一个团队成员希望用NiFi捕获这些数据并将其放入数据库


就个人而言,由于Flatbuffers支持将二进制文件转换为JSON,因此我认为,编写一个简短的C#、python、java或javascript程序来接收Flatbuffers、打开DB连接并转储数据几乎更容易。(如果需要,可以先转换为JSON)。

据我所知,NiFi没有与nanomsg库/现成协议集成。这可能需要为其编写一个定制处理器,该处理器能够使用nanomsg PUBSUB模式/套接字类型消费nanomsg数据包

可以使用现有处理器,例如
Consume*
处理器(
consumerkafka
consumerjms
)作为示例/指南,介绍如何编写一个处理器,该处理器使用来自遵循发布/订阅模式的主题/队列的消息

然后,您需要将负载从Flatbuffers二进制转换为可插入所需数据库的格式。同样,使用从Flatbuffer模式生成的代码的自定义处理器可能是正确的方法


正如您所提到的,这也可以通过一个简单的程序来实现。如果您使用Java编写该程序(使用Java nanomsg和flatbuffers libs)作为原型/概念证明,那么如果您希望迁移到NiFi,将来可以将其重构为一个或多个NiFi自定义处理器。

您能详细说明一下吗?您是否希望从NiFi调用另一个基于WebSocket的API的web服务,或者希望NiFi提供一个WebSocket接口,客户端可以调用该接口来创建连接,然后启动流实体?两者都应该是可能的。这可能会有帮助:。要分析flatbuffers,您可能必须使用自定义处理器或ExecuteScript。@kevdoran,请参阅更新