我非常高兴地宣布 Debezium 0.7.3 发布!

这主要是一个错误修复版本,但我们也添加了一些小型新功能。我们建议所有用户升级。从早期版本升级时,请查看您当前版本和 0.7.3 之间的所有版本的发行说明,以了解任何可能需要的升级步骤。

让我们更仔细地看看一些新功能。

所有连接器

使用新的连接器选项 tombstones.on.delete,现在您可以控制在记录删除时是否发出墓碑事件(DBZ-582)。这样做通常是正确的,因此保持默认行为。但在某些情况下,禁用墓碑可能是有益的,使用该选项可以变得更容易(之前您需要使用 SMT - 单消息转换 -,例如在使用 Debezium 的嵌入式模式时不支持)。此功能由我们的社区成员 Raf Liwoch 贡献。谢谢!

我们还花了一些时间处理一些操作方面的问题:Debezium 的变更数据消息中的 sourceInfo 元素包含一个新字段,表示创建消息的连接器的版本(DBZ-593)。这使得消息使用者可以根据版本采取具体行动。例如,这在新的 Debezium 版本修复了消费者到目前为止一直可以绕过的 bug 时非常有用。现在,在更新到这个新的 Debezium 版本后,就不应该再应用该变通方法了。版本字段将允许消费者决定是否应用变通方法。

Debezium 管理的所有线程的名称现在都遵循“debezium-<connector>-…”的格式(DBZ-587)。这有助于在分析线程转储时识别 Debezium 的线程。

Postgres 连接器

在这里,我们专注于改进对数组类型的支持:除了修复与数值数组相关的 bug(DBZ-577)之外,我们还完成了对 PostGIS 类型的支持(该类型在 0.7.2 版本中引入),允许您捕获 GEOMETRYGEOGRAPHY 类型的数组列。

快照现在可以正确中断(DBZ-586),并且连接器将正确处理重启后应从不再可用的 WAL 位置继续的情况:它将停止,需要您进行新的快照(DBZ-590)。

MySQL 连接器

MySQL 连接器可以在需要时自动创建 DB 历史主题(DBZ-278)。这意味着您不必自己创建该主题,也不必再依赖 Kafka 的自动主题创建(任何变更数据主题都将由 Kafka Connect 自动创建)。

连接器还可以选择在配置的间隔内将消息发送到专用的心跳主题(DBZ-220)。这在您只想捕获流量较低的表,而数据库中的其他表更改更频繁的情况下非常有用。在这种情况下,很长时间内都不会向 Kafka Connect 发出任何消息,因此也不会提交任何偏移量。这可能会在重启连接器时导致问题:它想要从最后一个已提交的偏移量恢复,而该偏移量可能不再存在于 binlog 中。但由于捕获的表没有更改,因此实际上不需要从如此旧的 binlog 位置恢复。通过定期将消息发送到心跳主题,可以避免所有这些问题,从而导致连接器看到的最后一个偏移量被提交。

在未来的版本中,我们也将把此更改推广到其他连接器。

下一步是什么?

请参阅 完整的变更日志 以获取更多详细信息以及 Debezium 0.7.3 中修复的所有问题的列表。

下一个版本定于 3 月 7 日发布。届时我们将根据 Oracle 连接器的工作进展情况(DBZ-137),决定是发布 0.7.4 还是 0.8.0。

也请参阅我们的 路线图,其中描述了我们对 Debezium 未来发展的想法。这是我们目前计划在未来几个月内要解决的问题,但并非板上钉钉,因此请通过向我们的 Google Group 发送消息来告知您的功能请求。我们期待您的反馈!

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