最新网站,seo搜索优化软件,有域名和空间怎么做网站,做app必须有网站Debezium日常分享系列之#xff1a;Debezium 3.0.5.Final发布 重大变化Kafka信号源变更事件源信息块 新功能和改进核心允许在未知表上进行临时阻塞快照快照分发失败处理改进连接器启动配置日志改进 Postgres支持PostgreSQL 17的故障转移复制槽 Oracle跟踪部分回滚事件的新指标… Debezium日常分享系列之Debezium 3.0.5.Final发布 重大变化Kafka信号源变更事件源信息块 新功能和改进核心允许在未知表上进行临时阻塞快照快照分发失败处理改进连接器启动配置日志改进 Postgres支持PostgreSQL 17的故障转移复制槽 Oracle跟踪部分回滚事件的新指标跳过GoldenGate复制标记 Vitess不可解析的DDL处理改进 K8s Operator支持JDBC偏移/历史配置 重大变化
Kafka信号源
在连接器重新启动时Debezium会重新处理基于Kafka的信号这可能会引入无法预测的行为和意外的副作用。因此该功能已被移除如果连接器停止则必须重新发送信号。
变更事件源信息块
在Debezium的变更事件中源信息块中的快照枚举被扩展以包括所有可能的情况。
新功能和改进
Debezium 3.0.5.Final引入了一些改进和新功能让我们逐个查看每个功能。
核心
允许在未知表上进行临时阻塞快照
虽然我们建议对所有表使用默认的模式管理配置但我们理解并非每个环境都能实现这一点。我们经常看到的一个常见问题是如果连接器使用store.only.captured.tables.ddl配置为true那么如何对新增的表进行快照。 在此更新中我们简化了这个过程您可以通过更新连接器配置来添加新的表一旦连接器任务重新启动即使对于未知但与捕获过滤器匹配的表也可以发送临时阻塞快照信号。
快照分发失败处理改进
在处理变更事件时用户可以使用event.processing.failure.handling.mode来控制连接器对特定事件处理失败的反应方式然而传统上这仅适用于流式变更。在某些边缘情况下发出快照事件也可能引发失败。为了改善这种体验event.processing.failure.handling.mode现在也会影响分发快照事件时的失败处理。
连接器启动配置日志改进
当Debezium源连接器启动时它会记录所有连接器的配置。这对于团队在诊断问题时非常有帮助同时也方便用户确认他们的配置被正确理解。在此更新中连接器配置的日志记录稍有变化。您会注意到不再将每个配置属性作为新的日志条目而是将每个键/值通过新行分隔并追加在一起作为单个条目添加到日志中。这样更容易识别这些日志行并且如果需要工具可以更容易地排除这样的日志条目。
Postgres
支持PostgreSQL 17的故障转移复制槽
PostgreSQL 17引入了一个期待已久的功能称为复制槽的故障转移。在创建复制槽时可以指定一个新的属性以使复制槽在故障转移副本上创建并可用。故障转移复制槽的同步可以通过调用pg_sync_replication_slots()手动执行也可以通过启用sync_replication_slots功能自动执行。当启用自动同步时这允许Debezium在故障转移到副本时立即从该槽中消费并且不会错过任何事件。要利用这个新功能您的连接器必须配置slot.failover为true。Debezium必须连接到PostgreSQL 17和集群上的主服务器否则将不会创建故障转移复制槽。
Oracle
跟踪部分回滚事件的新指标
部分回滚事件是Oracle独有的一种情况其中用户执行一个操作它被记录为在事务日志中执行但是验证检查会强制撤销和回滚该操作。触发部分回滚的最显著方式之一是违反约束条件。新的JMX指标NumberOfPartialRollbackCount跟踪事务日志中这种事件序列的频率。
该指标的增加应该是很少见的在一天中出现几次不应该造成重大问题。
当您注意到该指标在很短的时间窗口内频繁增加时这意味着您可能有一个编写不良的脚本其中一个作业依赖于约束违规来实现某些逻辑。虽然连接器可以处理这些用例但重要的是要理解这会创建不必要的事务日志活动直接影响流式变更的速度和延迟。
跳过GoldenGate复制标记
当使用Debezium从与Oracle GoldenGate交互的Oracle数据库中捕获变更时您可能会注意到在重新启动时偏移量中的低水位线没有前进。特别是在将lob.enabled设置为true时尤为明显。在此更新中Debezium Oracle连接器现在将跳过GoldenGate的复制标记事件这将防止这些合成事务混淆事务缓冲区并迫使用户依赖事务保留。
Vitess
不可解析的DDL处理改进
Vitess已经添加了几项新的改进措施以使DDL变更的解析和处理更具容错性。这些改进包括
仅在特定表在模式历史中被跟踪时才解析DDL事件去除注释以模拟解析失败使表和类型容错以优雅地处理边缘情况。
K8s Operator
支持JDBC偏移/历史配置
我们通过引入对JDBC存储模块的支持改进了Kubernetes Operator使其可以通过CRD进行配置。在offset模式参考中添加了一个名为jdbc的新属性部分描述了JDBC偏移后备存储属性。在schema history参考中添加了一个名为jdbc的新属性部分描述了JDBC模式历史存储属性。这使得用户可以轻松地将使用Debezium Operator部署的连接器的偏移量和模式历史细节存储在JDBC数据存储中。