Debezium系列之:debezium采集数据库数据发送到Kafka Topic实现exactly-once,确保采集到的数据只会发送一次,不会出现数据丢失或重复的情况

321 篇文章 296 订阅 ¥99.90 ¥99.00

Debezium系列之:debezium采集数据库数据发送到Kafka Topic实现exactly-once,确保采集到的数据只会发送一次,不会出现数据丢失或重复的情况

一、需求背景

  • debezium为了保证采集的数据不丢失,现在是至少一次发送数据到Kafka Topic,下游需要根据需求进行数据的去重
  • 希望debezium采集数据库数据发送到Kafka Topic能够实现exactly-once,确保采集到的数据只会发送一次,不会出现数据丢失或重复的情况

二、exactly-once的含义

  • 数据exactly-once指的是在数据处理中确保每条数据只被处理一次的一种保证。在数据处理中,重复或丢失数据的发生可能会导致结果出现错误或不一致。因此,确保每条数据只被处理一次是非常重要的。exactly-once的概念广泛应用于流式计算、消息队列、ETL(Extract-Transform-Load)等数据处理领域。在实现exactly-once处理时,需要使用一些技术和方法,如事务、幂等性、checkpoint等。

三、Kafka Connect实现exactly-once

  • Kafka 本身提供事务支持,这是一次交付的构建块,并且在相当长的一段时间内(从 Kafka 0.11 开始),一次交付本身也提供了支持。Kafka Connect 中缺少的是对一次性交付的支持。这在 Kafka 3.3.0 中发生了变化,它增加了对源连接器的一次交付的支持。
  • 源连接器生成的事件以及在未提交事务期间写入的事件对于使用者来说是不可见的,只有在事务提交后才变得可见,其中还包括与这些事件对应的偏移量的提交。
  • 源连接器本身不创建事务,它由 Kafka Connect 处理。连接器仅在需要时定义事务边界&#
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

最笨的羊羊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值