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.nameproperty- 连接器配置中不再使用。如需更多信息,请参阅 表 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.namesdatabase.history.consumer.*(DBZ-5043)schema.history.internal.consumer.*database.history.kafka.bootstrap.servers(DBZ-5043)schema.history.internal.kafka.bootstrap.serversdatabase.history.kafka.topic(DBZ-5043)schema.history.internal.kafka.topicdatabase.history.producer.*(DBZ-5043)schema.history.internal.producer.*database.server.name(DBZ-5043)topic.prefixmongodb.name(MongoDB)topic.prefixschema_blacklist(DBZ-5045)schema_exclude_listschema_whitelist(DBZ-5045)schema_include_list- 应用到 MySQL 连接器的更改
- MySQL 连接器不再支持旧的 JDBC 传统日期/时间属性(DBZ-4965)。
- 应用到 MongoDB 连接器的更改
- MongoDB 连接器不再支持直接来自 oplog 的流。更改流代表了使用 MongoDB 执行更改数据捕获的高级机制。连接器现在将 oplog 数据捕获和解码到 MongoDB 更改流,而不是直接读取 oplog 数据,这会将集合中发生的更改作为事件流公开。Debezium 连接器订阅流,然后将更改下游提供给 Kafka。更改流的转换提供了各种好处,包括从非主节点流更改的功能,以及为下游用户提供完整文档表示的更新事件。
-
配置属性
mongodb.name被topic.prefix属性替代。
- 应用到 PostgreSQL 连接器的更改
- 应用到 SQL Server 连接器的更改
-
如果没有为 SQL Server 数据库启用 SSL,或者您想要不使用 SSL 连接到数据库,请通过将连接器配置中的
database.encrypt属性的值设置为false来禁用 SSL。 -
database.dbname属性由database.names属性替代。
-
如果没有为 SQL Server 数据库启用 SSL,或者您想要不使用 SSL 连接到数据库,请通过将连接器配置中的
3.5.2. 提升到正式发行(GA)的功能 复制链接链接已复制到粘贴板!
在 Debezium 2.1.3 发行版本中,以下功能从技术预览提升到正式发布(GA):
3.5.3. Debezium 功能更新 复制链接链接已复制到粘贴板!
这个 Debezium 2.1.3 发行版本提供多个功能更新和修复,包括以下列表中的项目: