上下文:
我内部有多个应用程序,它们在Enterprise Kafka和Solace队列上发布实时消息。消息的数量和速度相当大。这些消息由消息处理模块使用,并存储到现在托管在内部的实时数据存储中。我们计划在GCP上移动消息处理模块和实时数据存储。
问题陈述:
由于消息处理模块和实时数据存储已移至GCP,因此需要将消息从“ 内部Kafka主题和Solace队列”发布/推送到 GCP Pubsub主题”。
为此,我计划在内部NiFi群集上编写NiFi工作流程。 如果有人已经做过类似的尝试,分享想法会很棒吗?
请告知是否需要其他信息。
请注意,我找不到此处已经发布的类似问题。
谢谢!
答案 0 :(得分:1)
我曾与Kafka和GCP PubSub进行过短暂的合作。我与Solace的合作不多,但据我所知,您可能需要在nifi-hms-bundle
上做一些代码更改,以自定义JMS控制器服务以具有标准的JMS JNDI连接工厂,之后您可以利用NiFi的ConsumeJMS
和PublishJMS
处理器,用于读写Solace队列。
因此,通常,您的流程将如下所示:
ConsumeKafka
配置为正确的主题,并将ConsumeJMS
配置为使用自定义JNDIConnectionFactoryProvider
而不是内置的JMSConnectionFactoryProvider
。success
输出并将其与PublishGCPPubSub
连接。我建议使用基于记录的ConsumeKafka
处理器。选择计算Kafka API版本的处理器。