关闭。这个问题是基于意见的。它目前不接受答案。
**想改进这个问题吗?**更新这个问题,这样就可以通过编辑这篇文章用事实和引文来回答。
去年关门了。
改进这个问题
我试图理解什么是连接买你,而不是流。我们的应用程序中有一部分需要使用一个主题并写入mariadb。
我可以用一个简单的处理器来完成。读取记录,存储在state store中,然后批量插入mariadb。
为什么这是个坏主意?jdbc接收器连接器给你买了什么?
关闭。这个问题是基于意见的。它目前不接受答案。
**想改进这个问题吗?**更新这个问题,这样就可以通过编辑这篇文章用事实和引文来回答。
去年关门了。
改进这个问题
我试图理解什么是连接买你,而不是流。我们的应用程序中有一部分需要使用一个主题并写入mariadb。
我可以用一个简单的处理器来完成。读取记录,存储在state store中,然后批量插入mariadb。
为什么这是个坏主意?jdbc接收器连接器给你买了什么?
1条答案
按热度按时间at0kjp5o1#
好问题!关键是使用合适的工具。kafka connect的具体用途是源系统和kafka之间的流式集成,或者从kafka向下到其他系统(包括rdbms)。
Kafka给了你什么?
可扩展性;您可以部署多个worker,kafka connect将在它们之间分发任务
弹性;如果一个节点出现故障,kafka connect将重新启动另一个worker上的工作
易用性;连接器适用于多种技术,因此实现连接器通常只需要几行json
模式管理;支持json中的模式,与avro的模式注册表完全集成,protobuf社区的可插入转换器
带有单个消息转换的内联转换
对所有集成任务进行统一和集中的管理和配置
这并不是说你不能在kafka流中这样做,但是你最终不得不自己编写很多代码,当kafka connect为你提供现成的时候。同样,您可以使用consumer api和一堆定制代码来执行kafka streams api提供的流处理,同样,您可以使用kafka streams将kafka主题中的数据获取到数据库中,但为什么要这样做呢?
如果您需要在数据发送到接收器之前对其进行转换,那么推荐的模式是将转换与发送分离。转换kafka流(或ksql)中的数据并将其写回另一个kafka主题。使用kafka connect收听新主题并将转换后的消息写入目标接收器。