是否可以使用Kafka Connect将RDBMS表镜像到Kafka流?

时间:2019-06-23 01:15:37

标签: apache-kafka apache-kafka-connect

我知道可以使用Kafka Connect将更新从数据库推送到Kafka流。我的问题是,我是否可以创建使用者以将同一流中的更改写回到表中,而不创建无限循环?

我假设如果我创建一个将更新写入数据库表的使用者,它将触发Connect将更新推送到流,等等。有没有解决的办法,所以我可以将数据库表镜像到流?

2 个答案:

答案 0 :(得分:2)

您可以使用JDBC Sink connector for Kafka Connect从Kafka主题流式传输到数据库。

您需要在业务逻辑中进行编码,以避免无限次复制循环进入连接器或使用者。例如:

  • JDBC Source连接器使用WHERE子句仅提取设置了标志以指示它们是原始记录的记录
  • 源连接器中的“自定义单个消息转换”可删除带有设置为表明它们不是原始记录的标志的记录
  • Stream应用程序(例如KSQL / Kafka Streams)处理所有数据库更改的入站流,以仅过滤出设置了标志以指示它们是原始记录的那些更改
    • 效率低下,因为那样您仍在流式传输数据库中的所有内容

答案 1 :(得分:-1)

是的。可以配置同步/复制。