3.5. 新的 Debezium 功能


Debezium 2.1.3 包括以下更新:

3.5.1. 可能会造成问题的更改

Debezium 2.1.3 中的以下变化代表了连接器行为的显著区别,需要与早期 Debezium 版本不兼容的配置更改:

应用到多个连接器的更改
数据库历史记录主题
现在被称为数据库 schema 历史主题。
内存队列的对象大小限制
使用反映值不再计算大小。相反,队列限制会根据消息模式进行估算。(DBZ-2766) (MongodB, MySQL, Oracle, PostgreSQL, SQL Server)
暴露连接器指标
Debezium 之前将连接器指标作为快照、流和基于历史记录的 Bean 的单个元组公开。在这个版本中,连接器指标作为多分区方案公开。因此,指标名称及其公开的方式改变(DBZ-4726)。如果使用 Grafana、Prometheus 或类似的 JMX 框架来收集指标,请查看收集指标的过程。
database.server.name property
连接器配置中不再使用。如需更多信息,请参阅 表 3.1 “连接器配置属性的更新”
模式定义
为了命名和版本一致性,Debebe 模式现在在中央点中定义(DBZ-4365、 DBZ-5044)。如果使用模式 registry,则可能会出现架构兼容性问题。
Debezium 存储更改
在以前的版本中,集成支持作为 debezium-core 模块的一部分读取和存储偏移、历史记录和其他数据。此发行版本包括一个新的 debezium-storage 模块,它带有在本地文件系统中或 Kafka (DBZ-5229) 存储数据的实现。这种方法中实施的扩展点使得以后引入其他存储实施。作为升级的一部分,您可能需要根据代码所需的存储模块实现调整应用程序的依赖关系。
在通信异常后重启
当抛出与通讯相关的异常时(SqlException, IOException),默认情况下 Debezium MongoDB, MySQL, PostgreSQL, and SQL Server 连接器现在会自动重启 (DBZ-5244)。
skipped.operations 配置选项的默认值
现在,默认值为 truncate (DBZ-5497) (MongoDB, MySQL, Oracle, PostgreSQL, SQL Server)
schema.name.adjustment.mode 属性的默认值
默认值为 none (DBZ-5541)。之前的默认选项是,对于使用 Avro converter 的客户来说,avro 是一个很好的选择,但在使用 JSON 转换器的环境中造成混淆。作为此更改的一部分,sanitize.field.names 属性不再可用。
删除了连接器配置属性

Debezium 1.x 版本中提供的几个属性不再有效,并被新属性替代。如需更多信息,请参阅下表:

Expand
表 3.1. 连接器配置属性的更新
1.x 属性与 2.x 属性等效

数据库站 (传递数据库驱动程序属性)(DBZ-5043)

driver.*

database.dbname (SQL Server)

database.names

database.history.consumer.* (DBZ-5043)

schema.history.internal.consumer.*

database.history.kafka.bootstrap.servers (DBZ-5043)

schema.history.internal.kafka.bootstrap.servers

database.history.kafka.topic (DBZ-5043)

schema.history.internal.kafka.topic

database.history.producer.* (DBZ-5043)

schema.history.internal.producer.*

database.server.name (DBZ-5043)

topic.prefix

mongodb.name (MongoDB)

topic.prefix

schema_blacklist (DBZ-5045)

schema_exclude_list

schema_whitelist (DBZ-5045)

schema_include_list

应用到 MySQL 连接器的更改
  • MySQL 连接器不再支持旧的 JDBC 传统日期/时间属性(DBZ-4965)。
应用到 MongoDB 连接器的更改
  • MongoDB 连接器不再支持直接来自 oplog 的流。更改流代表了使用 MongoDB 执行更改数据捕获的高级机制。连接器现在将 oplog 数据捕获和解码到 MongoDB 更改流,而不是直接读取 oplog 数据,这会将集合中发生的更改作为事件流公开。Debezium 连接器订阅流,然后将更改下游提供给 Kafka。更改流的转换提供了各种好处,包括从非主节点流更改的功能,以及为下游用户提供完整文档表示的更新事件。
  • 配置属性 mongodb.nametopic.prefix 属性替代。
应用到 PostgreSQL 连接器的更改
  • 协议缓冲区(protobuf)解码不再被支持(DBZ-703)。
  • wal2json 插件不再被支持(DBZ-4156)。
  • PostgreSQL 事务 ID 现在是 32 位整数,可滚动。为了简化事务的重复数据删除,LSN 现在作为标识符的一部分被包括(DBZ-5329)。
应用到 SQL Server 连接器的更改
  • 如果没有为 SQL Server 数据库启用 SSL,或者您想要不使用 SSL 连接到数据库,请通过将连接器配置中的 database.encrypt 属性的值设置为 false 来禁用 SSL。
  • database.dbname 属性由 database.names 属性替代。

3.5.2. 提升到正式发行(GA)的功能

在 Debezium 2.1.3 发行版本中,以下功能从技术预览提升到正式发布(GA):

3.5.3. Debezium 功能更新

这个 Debezium 2.1.3 发行版本提供多个功能更新和修复,包括以下列表中的项目:

Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2026 Red Hat
返回顶部