抱歉问了个基本问题。
要求:需要从spring boot应用程序向google pub sub发送json负载。
我已经开始实现kafka producer并将消息发布到topics,从那里到kafka消费者正在接收json。
现在我需要把kafka消费者的json负载发送到google pub/sub。我很困惑,我是否需要kafka消费者来完成这个。。或者只是从kafka producer发送到google pub sub,我可以使用kafka connector.jar并在属性的主题中进行配置。我们非常感谢您的帮助
1条答案
按热度按时间uelo1irk1#
如果你想把Kafka发来的消息放到google云pub/sub中,你不需要编写你自己的消费者信息。您可以创建google云pub/sub kafka连接器的示例。kafka connect服务通常是kafka部署本身的一部分,因此您只需要启动一个配置为运行云发布/订阅同步连接器的示例。连接器的自述文件详细说明了需要采取的步骤,但总结如下:
下载最新版本并通过
mvn package
命令。将target/cps-kafka-connector.jar复制到java路径中的某个位置,以便在kafka connect运行时可以访问它。
复制sink配置并将其更改为指向适当的云发布/子项目和主题以及适当的kafka主题。
根据是否要运行连接器的单个示例或多个示例,制作config/connect-standalone.properties或config/connect-distributed.properties的副本。
更新
key.converter
以及value.converter
待处理的属性org.apache.kafka.connect.storage.StringConverter
. 这样,连接器就不会试图解释所传递的数据,而是直接将json传递给cloud pub/sub。根据独立连接器和分布式连接器,使用适当的命令启动连接器,例如。,
bin/connect-standalone.sh <standalone config file> <connector config file>
.消息现在应该从kafka流到google云发布/订阅。如果您只是使用kafka从spring boot到云发布/订阅,那么您可以通过设置出站通道适配器来避免kafka步骤,直接将消息发送到云发布/订阅。