大家好,我叫 René Kerner,我最近加入了 Red Hat 和 Debezium 团队。
我自 2011 年起在 trivago 工作,2016 年我们开始使用 Debezium 0.4/0.5 版本,将点击流数据捕获到 Kafka 并将其聚合到中心集群。我们在一年内大大加强了 Debezium 的使用,并在 2017 年也将其用于 trivago 的主要数据。
2014 年,我首次对 Composer(PHP 的依赖管理工具)进行了开源贡献,并在 Developer Conference(现称为 code.talks)上就此发表了第一次演讲。然后,在 2017 年,我首次为 Debezium 贡献了代码,完成了 MySQL 快照过程的工作并修复了一个 MySQL TIME 数据类型的问题。
2018 年,我离开了 trivago,开始在 Codecentric 担任软件架构和开发(主要侧重 JVM)以及 Apache Kafka 的顾问,为德国“财富 500 强”公司(保险、工业领域、媒体)进行了大量培训和研讨会。那时我进行了大量的网络交流,在那里我了解到 Kafka 周围的社区有多么棒。我一直很遗憾没有更多时间专注于开源项目。
让我来分享一下 trivago 在 Kafka 和 Debezium 上的更多故事。早在 2015/2016 年,我们在 trivago 引入了 Kafka(版本 0.9、0.10 时代),用于处理从海外数据中心(美国+亚洲)到我们中央数据中心(欧洲)的点击流数据传输。
我们尝试的第一个解决方案完成了它的工作,但将消息以我们想要的格式(Google Protocol Buffers / Protobuf)导入 Kafka 相对困难。此外,该工具的代码库不是很干净,扩展也很丑陋且困难。
随着 Kafka 0.9.0.0 的发布,Kafka Connect 在接下来的几个月里得到了引入和稳定。在 2016/2017 年冬天,我们发现了 Debezium。一个基于 Kafka Connect 的工具,拥有更干净的代码库,并且能够以一种简单、可扩展的方式应用我们关于 Protobuf 格式和行为的要求(通过 SMTs/Single Message Transforms,在 Kafka 0.10.2 中发布)。
自“那时”以来,Debezium 取得了巨大的发展,增加了许多新的连接器,并且自七月以来,我已成为 Debezium 团队的一员,我为能参与这样一个出色的 OSS 项目感到自豪和兴奋,因为 Debezium 的 路线图 上仍有许多激动人心的事情:新的 IBM Db2 连接器将走出孵化阶段,Debezium Server 将更容易在 Kubernetes 上运行,以及一个关于未来 Debezium 管理 UI 的概念验证,还有更多更多。
此外,多年来我一直致力于 OSS、Kafka 和 Debezium 的相关工作,我一直倡导人们使用 OSS、Kafka 和 Debezium,并在不同的工作和角色中支持他们引入或扩展其使用。这就是为什么我非常高兴现在能够专注于支持 Debezium 和 Debezium 社区的工作!
——René
关于 Debezium
Debezium 是一个开源的分布式平台,可以将现有数据库转变为事件流,使应用程序能够几乎即时地看到并响应数据库中已提交的每个行级更改。Debezium 构建在 Kafka 之上,并提供了 Kafka Connect 兼容的连接器,用于监控特定的数据库管理系统。Debezium 将数据更改的历史记录在 Kafka 日志中,这样您的应用程序可以随时停止和重新启动,并可以轻松地消费在未运行时错过的所有事件,确保所有事件都被正确且完整地处理。Debezium 在 Apache 许可证 2.0 下是 开源 的。