我非常高兴地宣布 Debezium 1.3.0.CR1 的发布!

随着我们接近 Debezium 1.3 Final 的最后冲刺,我们抓住了这个机会为 ByteBufferConverter 添加了代理转换器支持,并引入了一个 debezium-scripting 模块。此外,还有一系列错误修复和相当多的文档整理工作;总的来说,已为此版本解决了 不少于 15 个问题

ByteBufferConverter 改进

ByteBufferConverter 是一个与 Outbox 事件路由 SMT 一起使用的转换器,用于序列化现有的 Avro 负载列。在最近的一份报告 (DBZ-2396) 中,ByteBufferConverter 无法序列化从配置为发出心跳、事务元数据或模式更改事件的连接器发出的事件。为了提高转换器在发出这些事件时的兼容性,ByteBufferConverter 现在可以配置为将事件序列化委托给另一个转换器。此委托是必需的,以便可以序列化心跳、事务元数据和模式更改事件(如果适用)。

为了使用 Outbox 事件路由 SMT 和 ByteBufferConverter 处理这些事件类型,必须更改连接器配置以反映委托转换器及其可配置选项。

例如,要将 Apache Kafka 的 JsonConverter 用作禁用模式的委托,必须将以下配置包含在连接器中

value.converter=io.debezium.converters.ByteBufferConverter
value.converter.delegate.converter.type=org.apache.kafka.connect.json.JsonConverter
value.converter.delegate.converter.type.schemas.enable=false

有关使用 ByteBufferConverter 的更多信息,请参阅 Outbox 事件路由文档中 使用 Avro 作为负载格式 部分。

脚本模块

在此版本中,用于基于内容的路由和过滤的 SMTs(两者都使用 JSR 223 脚本引擎)已从 debezium-core 移至一个单独的工件 debezium-scripting (DBZ-2549)。任何先前使用这些 SMTs 的连接器都需要将新的工件添加到这些连接器的插件目录中。

在使用 Debezium Kafka Connect 容器镜像时,将环境变量 ENABLE_DEBEZIUM_SCRIPTING 设置为 true 以启用此功能。此更改是为了允许脚本功能仅在具有适当安全配置的 Kafka Connect 配置接口的环境中可用。

其他特性和错误修复

此外,社区还完成了其他一些特性和修复工作

  • 快照前流式传输可能会在恢复流式传输时导致消息重复 DBZ-2550

  • 修复 Quarkus 1.9 的 Quarkus 数据源配置 DBZ-2558

  • 为 Oracle 实现连接重试支持 DBZ-2531

一如既往,请参阅 发行说明 以获取已解决问题的完整列表以及从早期 Debezium 版本升级的程序。

非常感谢 Guillaume SmetGrant Cooksey 为此版本做出的贡献。

展望

如果没有任何意外的回归或错误报告,Debezium 1.3 Final 应于下周发布。在此之前,我们将专注于进一步的完善工作。由社区主导的 Debezium Vitess 连接器开发工作 也进展顺利,该新连接器的初始版本计划在 10 月下旬随 Debezium 1.4 Alpha1 一起发布。

Chris Cranford

Chris 是 IBM 的一名软件工程师,之前在 Red Hat 工作,他致力于 Debezium 项目,并每天都在深入研究 Oracle 和 Change Data Capture 的各个方面。他此前曾从事 Hibernate(领先的开源 JPA 持久化框架)方面的工作,并且继续为 Quarkus 做贡献。Chris 居住在美国北卡罗来纳州。

   


关于 Debezium

Debezium 是一个开源的分布式平台,可以将现有数据库转变为事件流,使应用程序能够几乎即时地看到并响应数据库中已提交的每个行级更改。Debezium 构建在 Kafka 之上,并提供了 Kafka Connect 兼容的连接器,用于监控特定的数据库管理系统。Debezium 将数据更改的历史记录在 Kafka 日志中,这样您的应用程序可以随时停止和重新启动,并可以轻松地消费在未运行时错过的所有事件,确保所有事件都被正确且完整地处理。Debezium 在 Apache 许可证 2.0 下是 开源 的。

参与进来

我们希望您觉得 Debezium 有趣且有用,并希望尝试一下。在 Twitter @debezium 上关注我们,在 Zulip 上与我们聊天,或加入我们的 邮件列表 与社区交流。所有代码都在 GitHub 上开源,因此请在本地构建代码,帮助我们改进现有连接器并添加更多连接器。如果您发现问题或有改进 Debezium 的想法,请告诉我们或 记录一个问题

版权所有 © Debezium 及其作者。保留所有权利。有关我们的商标详情,请访问我们的 商标政策商标列表。第三方商标属于其各自所有者,在此提及并不表示任何认可或关联。
×