尽早发布,经常发布!在本周早些时候发布了1.1 Beta1和1.0.1最终版之后,今天我很高兴与大家分享Debezium发布的消息开云体育官方注册网址1.1.0.Beta2!
Beta2中增加的主要功能是支持使用测试容器对变更数据捕获(CDC)设置进行集成测试。此外,Quarkus扩展用于实现发件箱模式,以及SMT用于提取后
更改状态事件已经重新工作,现在提供了更多的配置灵活性。
Testcontainers支持
在设置CDC管道时,你应该彻底测试你的配置:源数据库必须正确配置(例如,考虑MySQL的binlog模式),连接器必须使用正确的凭证,过滤器等。开云体育电动老虎机
自动化为王,因此我们对使用它来编写CDC集成测试的新支持感到非常兴奋Testcontainers(dbz - 1722).只需几行代码,就可以使用Linux容器设置所需的所有服务,部署Debezium连接器,并针对发出的变更数据事件运行断言。开云体育官方注册网址
我们计划很快就这个主题发表一篇博客文章,同时参考文档了解更多。
夸克发件箱模式扩展的更多配置选项
的Quarkus扩展执行发件箱模式如果服务需要更新自己的数据库以及向外部消费者发送事件,那么就很方便了:通过将事件写入“发件箱”表并使用D开云体育电动老虎机ebezium从那里捕获它们,可以避免对数据库和Apache Kafka进行不安全的“双重写入”。开云体育官方注册网址
为了提供更大的灵活性,Quarkus扩展现在允许完全灵活地定制发件箱表的列类型dbz - 1711.例如,你可以设置选项quarkus.开云体育官方注册网址debezium-outbox.payload.column-definition
来Jsonb not null
,才能使用PostgresJSONB
列用于发件箱表的有效负载列。
更灵活的后
状态提取
SMT提取后
变更事件的状态现在允许更灵活地传播特定事件属性:使用newadd.fields
而且add.headers
选项,任何顶级属性(人事处
,ts_ms
)以及源
而且事务
属性可以传播到输出记录和/或作为Kafka记录的头:
变换=打开……transforms.unwrap.type = i开云体育官方注册网址o.debezium.transforms.ExtractNewRecordState transforms.unwrap.add。字段=表,lsn transforms.unwrap.add.headers = op, source.ts_ms
现有的operation.header
而且add.source.fields
选项已经被弃用,并将在未来的Debezium版本中删除。开云体育官方注册网址
进一步的更改和错误修复
整体13个问题已经解决了Debezium 1.1 Beta2发行版的问开云体育官方注册网址题。
最值得注意的是,一个已知的Kafka连接问题已经缓解,当Postgres或Oracle连接器停止时,可能会导致错过更改事件(dbz - 1766), MongoDB SMT为提取新的文档状态处理带有Apache Avro不支持的字符的标识符,例如$ ref
,优雅地(dbz - 1767).
向这个版本的所有贡献者大声疾呼:亚历克斯·索托,她女儿Roosen,约翰Psoroulas,马提亚Wessendorf,梅丽莎Winstanley,以及谢尔盖起来关于测试容器工作的建议。
关于Debe开云体育官方注册网址zium
开云体育官方注册网址Debezium是一个开源的分布式平台,它将现有数据库转换为事件流,因此应用程序几乎可以立即看到并响应数据库中提交的每一个行级更改。开云体育电动老虎机开云体育官方注册网址Debezium是建立在卡夫卡并提供卡夫卡连接监控特定数据库管理系统的兼容连接器。开云体育电动老虎机开云体育官方注册网址Debezium在Kafka日志中记录了数据更改的历史,所以你的应用程序可以在任何时候停止和重新启动,并且可以很容易地使用它没有运行时错过的所有事件,确保所有事件都被正确和完整地处理。开云体育官方注册网址Debezium是开源下Apache许可证,版本2.0.
参与
我们希望您觉得Debezium有趣开云体育官方注册网址且有用,并愿意尝试一下。在Twitter上关注我们@开云体育官方注册网址debezium,在Zulip上和我们聊天,或加入我们的邮件列表与社区对话。所有的代码都是开源的GitHub上,因此在本地构建代码并帮助我们改进现有连接器并添加更多连接器。如果您发现了问题或对我们如何改进Debezium有想法,请告诉我们开云体育官方注册网址记录问题.