Debezium 博客

大家好,我叫 Giovanni,我最近加入了 Red Hat 和 Debezium 团队。我职业生涯的大部分时间都在微服务架构的公司度过,随着时间的推移,我经历过不同技术浪潮和迁移挑战。在这个过程中,我有机会参与了 lastminute.com 的航班价格引擎工作,涵盖了元搜索和直接渠道,实现了动态定价算法,以确保在高流量条件下保持准确性和可扩展性。此外,...

你好 Debezium 社区!我是 Alvar Viana,就在一个月前,我加入了 Red Hat 和 Debezium 团队。我是一名软件工程师,拥有近 10 年的专业经验。在我的职业生涯中,我一直为产品公司/项目工作。最初是一名后端/嵌入式开发人员,为一家被 ABB 收购的公司工作。几年后,我改变了我的生活、城市、工作和角色。从那时起,我在 adidas 和 Sysdig 作为...

您可能已经注意到,Docker公司最近宣布缩减免费组织账户的提供。Docker公司希望只为Docker赞助的开源(DSOS)项目提供免费组织账户。Debezium项目不符合他们对开源项目的定义,因为我们有商业化的途径。由于账户将在30天内被终止,我们立即开始着手将Debezium项目从Docker Hub迁移出去。

大家好,我叫 Mario Fiore Vitale,我最近加入了 Red Hat 和 Debezium 团队。

我是一个充满好奇心的人,奉行持续学习的理念,喜欢不断提升自己的技能。我非常注重代码质量和可读性。

我拥有大约 9 年以上的经验,曾在咨询、初创企业和企业产品公司工作,涵盖不同行业。在我之前的工作经历中,我有机会参与了架构重新设计项目,将单体应用拆分成微服务应用。在此过程中,我积累了使用 Kafka、Elasticsearch、Redis、Kubernetes、VictoriaMetrics、Spring Framework 以及一些 Cassandra 等不同技术的经验。

我为什么在这里?

大约在 2017 年初,我收到了 Debezium 创始人 Randall Hauch 的会议邀请。他即将开始职业生涯的新篇章,并正在寻找接任 Debezium 项目负责人的人。于是我们通了电话,我立刻被变更数据捕获的概念、其众多的潜在用例和应用,以及将其作为开源提供给社区的想法所吸引。经过短暂考虑后,我决定抓住这个机会,毫无疑问,这是我职业生涯中做出的最好的决定之一。

正如您可能注意到的,我们已经开始进行 Debezium 2.0 的开发。2.0 版本计划中的 更改之一将基线切换到 Java 11。虽然一些 Java 构建提供商仍然支持 Java 8,但其他 Java 8 发行版已经达到了其生命周期/支持的终点。用户反正都在转向 Java 11,正如 New Relic 的 Java 生态系统状况报告 等调查所示。但这不仅仅是支持问题:Java 11 带来各种性能改进,有用的工具(如 JDK Flight Recorder,它在 Java 11 中已开源),等等。所以我们觉得是时候开始考虑使用更近期的 JDK 作为 Debezium 的基线了,而新的主版本是一个自然的切换里程碑。

大家好,我叫 Vojtěch Juránek,我最近加入了 Debezium 团队。

我的大部分 IT 职业生涯都在 Red Hat 度过。我拥有粒子物理学的背景,但在加入 Red Hat 之前,我已经做了很多编程工作,当时我正在研究 高能粒子碰撞模拟 及其 数据分析。科学本身就是开源的,我所使用的所有软件也都是开源的。我的开源热情就是从这里开始的。

欢迎阅读最新一期的 Debezium 社区新闻通讯,在此我们将分享与 CDC 相关的所有信息,包括博客文章、小组讨论以及对我们的用户社区有用的 StackOverflow 问题。

距离我们上一期新闻通讯已经过去很久了。但我们回来了!如果您错过了上一期,可以在 这里 查看。

大家好,我叫 Anisha Mohanty,我最近加入了 Red Hat 和 Debezium 团队。

我于 2020 年 4 月完成学业后开始在 Red Hat 工作。我在大学早期就接触了开源,但我并不知道组织是如何运作的,我想了解开源伦理和价值观的精髓。这正是我加入 Red Hat 后感到着迷并想去学习的。

我的工作最初是在数据虚拟化团队下的 Teiid,然后是在 GRAPHQLCRUD 项目下,该项目是 GraphQL 之上通用查询接口的标准。该项目已经顺利启动并处于良好状态。我们已经成功添加了 CRUD 功能、分页和过滤规范。

说到 Debezium,我第一次听说它是因为一些 DV 成员开始向这里贡献代码,当时对我来说这完全是新事物。我开始进一步探索,不久后就与 Gunnar 和 Jiri 进行了第一次互动。这里有一个温暖的欢迎和很棒的团队,我非常期待与 Debezium 社区合作。

Create new topics / pipes

当您使用Kafka Connect分布式模式时,您可能会发现一旦启动Kafka Connect,就会自动创建一些与Kafka Connect相关的内部主题。

$ kafka-topics.sh --bootstrap-server $HOSTNAME:9092 --list

connect_configs
connect_offsets
connect_statuses

这是由Kafka Connect自动为您完成的,使用了合理的、定制化的默认主题配置,以满足这些内部主题的需求。

当您启动一个Debezium连接器时,捕获事件的主题将由Kafka代理根据默认(可能经过定制)的代理配置创建,前提是代理配置中启用了auto.create.topics.enable = true

auto.create.topics.enable = true
default.replication.factor = 1
num.partitions = 1
compression.type = producer
log.cleanup.policy = delete
log.retention.ms = 604800000  ## 7 days

但是,在生产环境中,当您使用Debezium和Kafka时,通常会选择禁用Kafka的主题自动创建功能(设置auto.create.topics.enable = false),或者您希望连接器主题的配置与默认值不同。在这种情况下,您必须提前为Debezium的捕获数据源创建主题。
但是,有个好消息!从Kafka Connect版本2.6.0开始,由于KIP-158的实现,可以通过Kafka Connect实现可定制的主题创建,这使得这一过程自动化成为可能。

大家好,我叫 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 周围的社区有多么棒。我一直很遗憾没有更多时间专注于开源项目。

欢迎阅读最新一期的 Debezium 社区新闻通讯,在此我们将分享与 CDC 相关的所有信息,包括博客文章、小组讨论以及对我们的用户社区有用的 StackOverflow 问题。

如果您错过了上一期,可以在 这里 查看。

欢迎阅读 Debezium 社区新闻通讯,在此我们将分享与 CDC 相关的所有信息,包括博客文章、小组讨论以及对我们的用户社区有用的 StackOverflow 问题。

今年夏天对团队来说是令人兴奋的。我们不仅在努力开发 Debezium 0.10,还对 debezium.io 进行了一些最近的更改。

欢迎阅读第一期 Debezium 社区新闻通讯,在此我们将分享与我们的用户社区相关的博客文章、小组讨论以及 StackOverflow 问题。

大家好,我叫 Chris Cranford,我最近加入了 Debezium 团队。

我在 Red Hat 的职业生涯始于三年多前;然而,我从事这一行已经将近二十年了。在我的整个职业生涯中,我一直倡导和支持开源软件。我早期的许多软件项目都基于开源软件,其中一些至今仍在大量使用,例如 Hibernate ORM

去年我第一次了解到 Debezium 项目时,我立刻感到非常兴奋。

我看到了这个项目将对许多人有多么有用,我对它专业的设计方式印象深刻:一个基于 Apache Kafka 的强大的变更数据捕获架构,在发生故障时也着重于健壮性和正确性,总体目标是创建一个多样化的 CDC 连接器生态系统。所有这一切都基于开源原则,从一开始就提供了广泛的文档,一个友好且受欢迎的网站,以及出色的入门体验。

所以您可以想象,我对有机会接任 Debezium 的项目负责人一职感到非常兴奋。Debezium 和 CDC 与我之前参与的一些数据中心项目有着紧密的联系,也与我一直在研究的 CQRS、事件溯源和反规范化等理念相关。作为 Hibernate 团队 在 Red Hat 的核心成员,我为 Hibernate Search(处理通过 JPA/Hibernate 进行全文索引更新)实现了最初的 Elasticsearch 支持。我还为 Hibernate OGM 做出了贡献——这是一个将 JPA 与 NoSQL 世界连接起来的项目。OGM 的计划之一是创建一个声明式的反规范化引擎,用于创建针对特定用例优化的读取模型。看到它如何与 Debezium 提供的功能协同工作将非常有趣。

在我于2016年初启动Debezium项目之前,Martin Kleppmann就关于“将数据库颠倒过来”进行了一系列演讲,以及他的Bottled Water项目如何展示了变更数据捕获在将Kafka用于流处理方面的重要性。随后,Kafka Connect被发布,在那时,我认为构建实用且可重用的变更数据捕获的基础显然是Kafka Connect。随着这些技术和方法对Red Hat变得越来越重要,我获得了机会,可以围绕为各种数据库管理系统构建优秀的CDC连接器来启动一个新的开源项目和社区。

在过去的几年里,我们为MySQL、然后是MongoDB,以及最近的PostgreSQL创建了Kafka Connect连接器。每一个连接器最初都有限制和一些问题,但随着时间的推移,越来越多的人尝试使用这些连接器,提出问题,回答问题,在Twitter上提及Debezium,在自己的环境中测试连接器,报告问题,修复bug,讨论限制和潜在的新功能,实现增强功能和新功能,改进文档,并撰写博客文章。简单来说,具有相似需求和兴趣的人们一起合作,形成了一个社区。更多的连接器,如OracleSQL Server的连接器正在开发中,但需要一些帮助才能更快地推进。

看到我们取得了多大的进步以及Debezium社区如何不断发展和壮大,这真的令人兴奋。现在也是将项目交给别人接管的好时机。事实上,在Red Hat工作了近10年之后,我将做出一个更大的改变,从今天起,我将加入Confluent的工程团队,在那里我将扮演更积极的角色,参与到更广泛的Kafka社区中,并直接与Kafka Connect和Kafka Streams打交道。我**肯定**会继续参与Debezium社区,但将不再领导该项目。这个角色将由Gunnar Morling接任,他最近加入了Debezium社区,但在开源、Hibernate社区Bean Validation规范方面拥有丰富的经验。Gunnar是一个很好的人,也是一位出色的开发者,他将成为Debezium社区的优秀领导者。

版权所有 © Debezium 及其作者。保留所有权利。有关我们的商标详情,请访问我们的 商标政策商标列表。第三方商标属于其各自所有者,在此提及并不表示任何认可或关联。
×