我有一个需要将关系数据库中的数据更改发送到kafka-topic中的用例。
我能够编写一个简单的JDBC程序,该程序执行一组针对特定时间段的更改的查询,并使用KafkaTemplate ( spring框架提供的包装器)将数据写入kafka-topic。
如果我使用kafka-connect来做同样的事情,那就是写一个源连接器。我将获得什么好处或管理费用(如果有的话)?
发布于 2019-07-24 16:16:09
第一件事是你必须“……编写一个简单的JDBC程序……”并注意在数据库和Kafka主题上的写作逻辑。Kafka Connect会为您完成此操作,您的业务应用程序只需写入数据库即可。有了Kafka Connect,你就有了更多的功能,比如故障转移处理、并行性、伸缩性...对于你来说,这一切都是开箱即用的,而当你在数据库上写东西时,例如,当你在数据库上写东西时,但是有些东西失败了,你不能写到Kafka主题,等等,你应该去处理它们。
发布于 2019-07-24 17:17:49
今天,您希望使用从一个数据库到Kafka主题的一组查询从数据库中摄取数据,并编写一些定制的代码来实现这一点。
明天,你想要使用第二个数据库,或者你想在Kafka中改变你的数据的序列化格式,或者你想要扩展你的摄取,或者你想要高可用性。或者你想添加从Kafka流数据到另一个目标的能力,也可以从其他地方摄取数据。并且,使用JSON中表达的标准化配置模式对其进行集中管理。哦,你还希望其他人可以很容易地维护它,这些人不需要通读代码,只需要使用Apache Kafka的通用API (这就是Kafka Connect )。
如果您设法自己完成所有这些-您刚刚重新发明了Kafka Connect :)
我在我的卡夫卡峰会上广泛地谈到了这一点:“通过卡夫卡连接从零到英雄”,你可以找到online here
https://stackoverflow.com/questions/57178001
复制相似问题