Debezium日常分享系列之:临时阻塞快照Ad-hoc blocking snapshots

Debezium日常分享系列之:临时阻塞快照Ad-hoc blocking snapshots

一、认识临时阻塞快照

增量快照于大约两年前在 Debezium 1.6 中首次引入,并且在社区中仍然非常受欢迎,用于处理各种重新快照用例。然而,在某些用例中,读取事件与创建、更新和删除的交织性质可能不太理想,甚至不受某些消费者应用程序的支持。对于这些用例,Debezium 2.4 引入了临时阻塞快照。

临时阻塞快照的工作方式与临时增量快照的工作方式类似;然而,有一个主要区别。快照仍然是通过向 Debezium 发送信号来触发;然而,当连接器处理信号时,主要区别在于,在快照进程运行时,流传输被搁置。这意味着您不会收到一系列与创建、更新或删除事件交织在一起的读取事件。这也意味着我们将以与传统快照类似的方式处理快照,因此吞吐量通常应该高于增量快照。

请注意,临时阻塞快照会在执行快照时暂停事务日志的读取。这意味着在使用这种类型的临时快照模式时,传统快照对事务日志可用性的相同要求也适用。当流恢复时,如果所需的事务日志已被删除,连接器将引发错误并停止。

二、临时阻塞快照信号格式

启动临时阻塞快照的信号与其对应的临时增量快照非常相似。下面的信号显示了对具有条件的特定表进行快照的有效负载,但这使用新的阻塞快照而不是增量快照:

{
  "type": "execute-snapshot",
  "data": {
    "data-collections": ["public.my_table"],
    "type": "blocking", 
    "additional-condition": "last_update_date >= '2023-01-01'"
  }
}

使用 blocking 而不是 INCRMENTAL 区分了两种临时快照模式。

三、临时阻塞快照效果

执行临时阻塞快照日志输出如下图所示:
在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

快乐骑行^_^

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

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

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

打赏作者

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

抵扣说明:

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

余额充值