如何从内部NiFi工作流程中发布有关GCP pubsub主题的实时消息

时间:2018-10-06 03:41:45

标签: google-cloud-platform apache-nifi google-cloud-pubsub on-prem

上下文:

我内部有多个应用程序,它们在Enterprise Kafka和Solace队列上发布实时消息。消息的数量和速度相当大。这些消息由消息处理模块使用,并存储到现在托管在内部的实时数据存储中。我们计划在GCP上移动消息处理模块和实时数据存储。

问题陈述:

由于消息处理模块和实时数据存储已移至GCP,因此需要将消息从“ 内部Kafka主题和Solace队列”发布/推送到 GCP Pubsub主题”。

为此,我计划在内部NiFi群集上编写NiFi工作流程。 如果有人已经做过类似的尝试,分享想法会很棒吗?

请告知是否需要其他信息。

请注意,我找不到此处已经发布的类似问题。

谢谢!

1 个答案:

答案 0 :(得分:1)

我曾与Kafka和GCP PubSub进行过短暂的合作。我与Solace的合作不多,但据我所知,您可能需要在nifi-hms-bundle上做一些代码更改,以自定义JMS控制器服务以具有标准的JMS JNDI连接工厂,之后您可以利用NiFi的ConsumeJMSPublishJMS处理器,用于读写Solace队列。

因此,通常,您的流程将如下所示:

enter image description here

  • 您已将ConsumeKafka配置为正确的主题,并将ConsumeJMS配置为使用自定义JNDIConnectionFactoryProvider而不是内置的JMSConnectionFactoryProvider
  • 连接这两个处理器的success输出并将其与PublishGCPPubSub连接。

我建议使用基于记录的ConsumeKafka处理器。选择计算Kafka API版本的处理器。

1 https://dev.solace.com/integration-guides/nifi/