Debezium 社区正朝着 0.10 版本冲刺,我们很高兴地宣布 Debezium 0.10.0.CR1 的可用性!

除了对不同连接器的一系列错误修复外,此版本还为 Postgres 提供了初始快照方面的重大改进。除非出现任何主要的回归,否则最终的 0.10 版本应该很快就会发布。

Postgres 导出快照

Postgres 的逻辑解码功能有一个 Debezium 至今尚未利用的能力,那就是 导出快照:当创建一个复制槽时,可以启动一个具有 SNAPSHOT 隔离级别的事务,这允许在不加任何锁的情况下导出数据库的表,就在槽创建的瞬间。

基于早期允许 Debezium Postgres 连接器更灵活地处理快照的工作,现在可以通过新的 快照模式 exported 来使用导出快照功能(DBZ-1035DBZ-1440)。我们鼓励您试用此功能并反馈任何问题。

最终,此模式应成为默认的快照行为,因为它不需要连接器获取任何锁。

Bug 修复

由于值溢出问题,许多用户报告了在捕获未来时间戳列(例如 3000 年以后)的值时出现问题(DBZ-949DBZ-1205DBZ-1255)。

虽然在典型的企业应用程序中,这种值可能不那么常见(毕竟,谁希望购买订单的交付日期安排在千年之后?),但仍有几种使用场景会用到这些值,例如,在建模核衰变过程时,可以考虑半衰期可能很长的情况。因此,我们对处理时间戳值的代码进行了大规模重构,并很高兴地报告这些问题现在已经得到修复。

在 MongoDB 中处理“无操作”(no-op)事件(DBZ-1464)以及在使用 新的记录状态提取 SMT 时,向传出的消息传播 source 字段(DBZ-1448)等方面的其他错误修复也已完成。

Cassandra 连接器

在 Debezium Cassandra 连接器的 首次发布之后,我们开始致力于将其与其他 Debezium 连接器进行对齐(与关系型连接器和 MongoDB 连接器不同,Cassandra 连接器目前不是基于 Apache Kafka Connect 的,而是作为独立的进程运行)。这是此工作的第一项成果,它现在可以通过属性文件进行配置(类似于在独立模式下使用 Kafka Connect),而不是通过 YAML 文件。(DBZ-1406)。

下一步将使消息序列化方面可配置:虽然目前连接器只支持 Avro,但它最终将支持可插入的转换器,允许您使用 JSON、Avro 以及您可能已经从 Kafka Connect 中了解到的其他任何转换器。

重新设计的网站和文档

当您阅读这篇博客文章时,这一点很难忽视:Debezium 网站 已经焕然一新

现在可以更轻松地找到当前稳定版和开发版(目前是 0.9 和 0.10)的信息。文档也进行了重新组织,并以版本特定的方式发布,即现在您可以获取适用于特定版本的文档。

网站的博客部分也进行了改版:主页显示了最新帖子的介绍性片段,而左侧则列出了许多“精选”博客文章。这些通常是探讨诸如 outbox 模式 等高级主题的早期博客文章,我们希望让它们更容易被发现和阅读。我们希望您喜欢新的网站和文档结构,并希望它能帮助您比以往任何时候都更好地找到所需信息。如果您遇到任何问题(格式错误、链接断开等),请告知我们。

有关已解决问题的完整列表和升级过程,请参阅 0.10.0.CR1 发行说明

一如既往,非常感谢 Debezium 社区中所有为本次发布做出贡献的杰出人士:Andrew GarrettBingqin ZhouCyril ScetbonGuillaume RosauroIvan LuzyaninLev ZemlyanovRenato Mefi

Gunnar Morling

Gunnar 是一位软件工程师,内心是一个开源爱好者,目前在 Confluent 担任技术专家。此前,他曾帮助构建一个基于 Apache Flink 的实时流处理平台,并领导了 Debezium 项目,这是一个用于变更数据捕获的分布式平台。他是 Java Champion,并创立了多个开源项目,如 JfrUnit、kcctl 和 MapStruct。Gunnar 是一位热情的博主 (morling.dev),并曾在 QCon、Java One 和 Devoxx 等各种会议上发表演讲。他居住在德国汉堡。

   


关于 Debezium

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

参与进来

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

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