Debezium 博客
本文最初发表在 WePay Engineering 博客。
如果您想知道为什么要在 Kafka 中流式传输数据库更改,我强烈建议您阅读 微服务最难的部分:您的数据。在 WePay,我们希望集成我们的微服务和下游数据存储,以便每个系统都能访问它所需的数据。我们将 Kafka 用作数据集成层,因此我们需要一种方法将我们的数据库数据导入其中。
去年,Yelp 的工程团队发布了一系列关于他们数据管道的精彩文章。其中包括了如何将 MySQL 数据流式传输到 Kafka 的讨论。他们的架构涉及一系列自研软件来完成任务,特别是 schematizer 和 MySQL streamer。这篇介绍引发了 Debezium 博客上关于使用 Kafka Connect、Debezium 和 Confluent 的 Schema Registry 构建等效架构的思考。这正是我们在 WePay 实施的架构,本文将介绍我们如何利用 Debezium 和 Kafka Connect 将我们的 MySQL 数据库流式传输到 Kafka。
我们很高兴地宣布,Debezium 0.4.0 现在可与 Kafka Connect 0.10.1.1 一起使用。此版本引入了新的 PostgreSQL 连接器,并对 MongoDB 连接器 和 MySQL 连接器 进行了十几次修复,包括对 Amazon RDS 和 Amazon Aurora(MySQL 兼容) 的初步支持。有关这些更改的详细信息,请参阅 发行说明。
我们还创建了标记为 0.4 和 latest 的 Debezium Docker 镜像,我们在 教程 中使用了它们。
感谢 Horia、Chris、Akshath、Ramesh、Matthias、Anton、Sagi、barton 等人在此次发布、问题、讨论、贡献和问题中的帮助!
我们很高兴地宣布,**Debezium 0.3.6** 现在可以与 Kafka Connect 0.10.0.1 一起使用。此版本包含对 MySQL 连接器和 MongoDB 连接器的十几项修复。有关这些更改的详细信息,请参阅 发行说明。
我们还更新了 Debezium Docker 镜像,标签为 0.3 和 latest,这些镜像我们在 教程 中使用。
感谢 Farid、RenZhu、Dongjun、Anton、Chris、Dennis、Sharaf、Rodrigo、Tim 以及其他人在此次发布、问题、讨论、贡献和提问方面的帮助!
我们很高兴地宣布,**Debezium 0.3.5** 现在可以与 Kafka Connect 0.10.0.1 一起使用。此版本包含对 MySQL 连接器的几项修复,并增加了与 多主 MySQL 服务器 作为源一起使用的能力。有关这些更改的详细信息,请参阅 发行说明。我们还更新了标记为 0.3 和 latest 的 Debezium Docker 镜像,我们在 教程 中使用了这些镜像。
其中一项修复非常重要,因此**我们强烈建议所有用户从所有早期版本升级到此版本。**在以前的版本中,MySQL 连接器可能会在未完成事务中的所有更新的情况下停止,并且当连接器重新启动时,它会从下一个事务开始,因此可能无法捕获前一个事务中的某些更改事件。此版本修复了此问题,因此在重新启动时,即使在事务中间,它也将始终从中断的地方继续。请注意,此修复仅在连接器升级并重新启动后才生效。有关更多详细信息,请参阅 此问题。
感谢 Akshath、Anton、Chris 以及其他人在此次发布、问题、讨论、贡献和提问方面的帮助!