去年我第一次了解到 Debezium 项目时,我立刻感到非常兴奋。
我看到了这个项目将对许多人有多么有用,我对它专业的设计方式印象深刻:一个基于 Apache Kafka 的强大的变更数据捕获架构,在发生故障时也着重于健壮性和正确性,总体目标是创建一个多样化的 CDC 连接器生态系统。所有这一切都基于开源原则,从一开始就提供了广泛的文档,一个友好且受欢迎的网站,以及出色的入门体验。
所以您可以想象,我对有机会接任 Debezium 的项目负责人一职感到非常兴奋。Debezium 和 CDC 与我之前参与的一些数据中心项目有着紧密的联系,也与我一直在研究的 CQRS、事件溯源和反规范化等理念相关。作为 Hibernate 团队 在 Red Hat 的核心成员,我为 Hibernate Search(处理通过 JPA/Hibernate 进行全文索引更新)实现了最初的 Elasticsearch 支持。我还为 Hibernate OGM 做出了贡献——这是一个将 JPA 与 NoSQL 世界连接起来的项目。OGM 的计划之一是创建一个声明式的反规范化引擎,用于创建针对特定用例优化的读取模型。看到它如何与 Debezium 提供的功能协同工作将非常有趣。
我目前担任 Bean Validation 2.0 (JSR 380) 规范及其参考实现 Hibernate Validator 的负责人。另外两个我非常看重的项目是 MapStruct——一个用于 bean 到 bean 映射的代码生成器——以及 ModiTect,它是用于 Java 9 模块及其描述符的工具。总的来说,我非常信奉开源理念,并且热爱与世界各地的人们一起协作,创造有用的工具和库。
加入 Debezium 社区并从事变更数据捕获 (CDC) 工作是一个绝佳的下一步。有很多工作要做:为 Oracle、SQL Server 和 Cassandra 开发连接器,还有诸如实体连接处理器之类的功能,它将允许我们从行级事件过渡到更聚合的业务级事件(例如,用于更新订单及其订单项的组合搜索索引),或者开发用于管理和可视化事件模式变更历史记录的工具。
我想强调的一点是,项目的方向总体上不会发生太大变化。Red Hat 完全致力于与您——Debezium 社区——一起维护和发展该项目。这场旅程才刚刚开始!
最后,我要衷心感谢 Randall 所做的杰出工作!你从一个想法开始,通过内部(Red Hat 内部)和外部(更广泛的社区)的推广,最终建立起一个稳步成长和不断发展的项目,你树立了一个真正的榜样。毋庸置疑,没有你,就没有 Debezium。感谢你的一切,我非常期待与你和社区一起继续推进这个伟大的项目!
前进!
--Gunnar
关于 Debezium
Debezium 是一个开源的分布式平台,可以将现有数据库转变为事件流,使应用程序能够几乎即时地看到并响应数据库中已提交的每个行级更改。Debezium 构建在 Kafka 之上,并提供了 Kafka Connect 兼容的连接器,用于监控特定的数据库管理系统。Debezium 将数据更改的历史记录在 Kafka 日志中,这样您的应用程序可以随时停止和重新启动,并可以轻松地消费在未运行时错过的所有事件,确保所有事件都被正确且完整地处理。Debezium 在 Apache 许可证 2.0 下是 开源 的。