Debezium 社区的朋友们,新年快乐!
祝愿你们所有的努力都取得成功,数据保持一致,最重要的是,大家都平安健康。2020 年已经过去,我想回顾一下今年 Debezium 发生的一切。
首先,为各位统计爱好者们准备了一些数据和数字。
-
继 2019 年 12 月发布 Debezium 1.0 之后,我们在每个季度末都成功发布了一个稳定的 Debezium 版本,预览版本大约每三周发布一次[1]。
-
核心仓库大约提交了 1,400 次(其他仓库提交次数更多),发布了 36 篇博客文章和版本公告,在 邮件列表 上有 166 个主题(如果我的 Google 收件箱查询是可信的话)。
-
大约有 100 位新贡献者加入,使得 Debezium 核心仓库的总贡献者人数达到 245 人,此外还有其他人在 Debezium GitHub 组织的其他仓库做出贡献。
-
Red Hat 作为 Red Hat Integration 的一部分,发布了首个 商业支持的 Debezium GA 版本。
-
Debezium 核心仓库的 GitHub ⭐ 数量增加了约 1,600 个,总关注者数量超过 4,100 人。
尽管这些数字很好地展示了 Debezium 的整体活动情况,但它们并没有真正说明具体发生了什么。数字背后是什么?以下是我个人在过去一年中 Debezium 的一些亮点。
-
两个由社区主导的新的 Debezium 连接器,分别支持 Db2 和 Vitess;特别感谢 IBM 和 Bolt 的工程师们,他们分别承担了这些连接器的主要开发工作!
-
除了这些新连接器之外,每个版本都带来了广泛的新功能;我最看好的一些功能包括 Debezium Server,用于将 Debezium 与 Apache Pulsar、AWS Kinesis、Google Cloud Pub/Sub 和 Azure Event Hubs 等消息基础设施集成;用于实现 Outbox 模式的 Quarkus 扩展;用于从 Oracle 提取变更事件的新的 基于 LogMiner 的连接器实现;事务标记、对 CloudEvents 的支持等等!
-
Debezium 被多个开源项目集成,例如 Apache Flink、Spring Cloud Stream、Hazecast Jet 和 Apache Camel。其他 Debezium 的集成者还包括 Materialize、Google Cloud DataFlow 和 Heroku 的流数据连接器。在本博客上,我们还讨论了如何与 Testcontainers、Apicurio API 和 Schema Registry 以及 OpenTracing 等技术集成和使用 Debezium。
-
Debezium 被 ThoughtWorks Tech Radar 列为“试用”级别。
-
一个关于 用于配置和操作 Debezium 的图形用户界面 的概念验证;请继续关注这方面的更多信息,因为它目前正在为其他连接器进行扩展。
今年社区也发布了大量关于 Debezium 使用经验的博客文章和演示。您可以在 这里 找到我们完整的 Debezium 相关资源列表(如果您认为有遗漏,请提交 PR)。我特别喜欢的一些内容包括:
-
Justin Chao 的《“使用 Debezium 管理微服务之间的数据一致性”》
-
Marta Paes 的《“使用 Flink SQL 和 Debezium 进行变更数据捕获”》
-
Thorben Janssen 的《“微服务与数据:使用 Debezium 实现 Outbox 模式”》
-
Aykut Bulgu 的《“ASAP! – Debezium 和 Kafka 在 Kubernetes 上的入门教程的叙述性演示”》
-
Michał Mackiewicz 的《“设置 PostgreSQL 以便使用 Debezium”》
-
Midhun Sukumaran 的《“一年半的 Debezium 使用经历:MySQL 的 CDC”》
-
Abdellatif Bouchama 的《“OpenShift 上的 Debezium 备忘单”》
-
Iain Porter 的《“在 Quarkus 中使用 Debezium 实现事务性 Outbox 模式”》
-
Mike Fowler 的《“使用 Debezium 和 Kafka Streams 进行变更分析”》
-
Dina Bogdan 的《“(解)耦自己”》
-
Francisco Lima 的《“Kafka Connect:如何使用变更数据捕获 (CDC) 创建实时数据管道”》
-
Abhishek Gupta 的《“教程:在 Azure 上使用 Debezium、Postgres 和 Kafka 设置变更数据捕获架构”》
看到社区如此积极和乐于助人真是太棒了;非常感谢大家撰写和分享关于 Debezium 和变更数据捕获的使用体验!
我认为 2020 年对 Debezium 社区来说是伟大的一年,我非常高兴我们一起取得了所有成就。再次感谢社区中的每一位成员为项目做出的贡献,无论是通过实现功能和修复错误、报告问题、参与讨论、在 Stack Overflow 上回答问题,还是通过博客文章和会议演讲帮助传播项目,等等!
今年有什么计划?可以肯定地说:“很多” :) 例如,我们希望重新设计快照的实现方式:快照应该可以并行化,可以修改 include/exclude 过滤器,还有更多功能。Debezium UI 将得到显著扩展和改进。我们计划对识别出的瓶颈进行系统的性能分析和改进。可能会增加对 MariaDB 的官方支持,以及一个在 Kubernetes 上运行 Debezium Server 的 Operator。还有一些我目前还不能透露的超酷项目!
继续前进,不断向上!
关于 Debezium
Debezium 是一个开源的分布式平台,可以将现有数据库转变为事件流,使应用程序能够几乎即时地看到并响应数据库中已提交的每个行级更改。Debezium 构建在 Kafka 之上,并提供了 Kafka Connect 兼容的连接器,用于监控特定的数据库管理系统。Debezium 将数据更改的历史记录在 Kafka 日志中,这样您的应用程序可以随时停止和重新启动,并可以轻松地消费在未运行时错过的所有事件,确保所有事件都被正确且完整地处理。Debezium 在 Apache 许可证 2.0 下是 开源 的。