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 区分了两种临时快照模式。

三、临时阻塞快照效果

执行临时阻塞快照日志输出如下图所示:
Debezium日常分享系列之:临时阻塞快照Ad-hoc blocking snapshots_第1张图片

你可能感兴趣的:(日常分享专栏,Debezium日常分享系列,临时阻塞快照,Ad-hoc,blocking,snapshots)