Debezium日常分享系列之:Debezium 2.7.0.Beta1发布

一、重大变化

1.快照工件

Debezium 快照之前已发布到 oss.sonatype.org。 Sonatype 已停用此存储库,并将其替换为 s01.oss.sonatype.org。如果您希望获取 Debezium 快照工件,请务必迁移您的脚本和资源以使用新的基础设施。

2.Oracle

在以前的版本中,零标度的 NUMERIC 数据类型会忽略decimal.handling.mode,这会在使用非默认十进制处理模式配置时阻止这些值作为 FLOAT64(双精度)或基于 STRING 的类型发出。我们调整了行为,以便零刻度数字数据类型遵循小数处理模式。

如果使用与架构注册表的严格兼容性,这将导致架构不兼容的问题,并且需要调整架构注册表中的兼容性设置。

二、新功能和改进

1.在 z/OS 上支持 Db2

Debezium 2.7 引入了对在 z/OS 平台上使用 Db2 连接器的孵化支持。为了使 Db2 连接器能够与 z/OS 配合使用,需要多个配置选项来切换连接器以与 z/OS 平台数据库配合使用。

新的连接器属性

{
  ...,
  "db2.platform": "ZOS",
  "cdc.control.schema": "ASNCDC",
  "cdc.change.tables.schema": "ASNCDC"
}

在 z/OS 模式下运行的主要切换是使用 db2.platform 完成的,在 Linux、Unix 和 Windows 上运行时默认为 LUW。将此配置选项设置为 ZOS 会启用 z/OS。

此外,我们还添加了 cdc.control.schema 和 cdc.change.tables.schema 连接器配置属性。这些以前被硬编码为 ASNCDC,虽然这仍然是默认值,但如果您的安装使用不同的架构,现在这是可能的。

对于适用于 Linux、Unix 和 Windows 的现有 Db2 连接器,升级时无需更改配置。仅当您将这些对象放在与 ASNCDC 不同的模式中时,才需要 db2.platform 对于 z/OS 和模式属性。

2.NATS JetStream 接收器身份验证改进

Debezium Server NATS JetStream 接收器还包括在 Debezium 2.7 中支持身份验证和加密的改进。现在支持多个新的配置属性,以将密钥库详细信息传递到接收器适配器。

新的配置属性

...
debezium.sink.nats-jetstream.auth.tls.keystore=<path-to-keystore-file>
debezium.sink.nats-jetstream.auth.tls.keystore.password=secret-password
debezium.sink.nats-jetstream.auth.tls.password=<tls-password>

要开始使用新的身份验证和加密功能,只需将上述三个配置包含到您的 Debezium 服务器配置中并使用适当的值即可。

3.JDBC 接收器 MariaDB 方言支持

虽然 MariaDB 和 MySQL 通常共享许多相似的语法,但不幸的是,在某些特殊情况下,这两者略有不同,从而导致不兼容。现在 Debezium JDBC 接收器构建的 upsert 语句存在这样的不兼容性,在使用 MariaDB 目标数据库时无法执行该语句。

Debezium 2.7 正式引入了对 JDBC 接收器连接器的 MariaDB 方言支持,使用户能够配置 JDBC 接收器以将 Kafka 主题的更改写入 MariaDB 目标。一般来说,不需要特殊配置,因为 Hibernate 和 Debezium 都应该检测到目标是 MariaDB 并使用正确的方言。

如果您发现方言解析未解析为 MariaDB,您可以通过使用完全限定类名 org.hibernate.dialect.MariaDBDialect 设置连接器配置 hibernate.dialect 来强制使用它。

我们目前知道,如果您希望使用 MariaDB,该驱动程序不会作为 JDBC 接收器连接器依赖堆栈的一部分提供。这已记录在 DBZ-7818 中,并将在下一版本中修复。现在,请手动下载驱动程序并将其与 JDBC 连接器 jar 一起安装。

4.JMX 导出器添加到 Debezium 服务器

JMX Exporter 代理已作为 Debezium Server 容器映像的一部分添加。这应该使用户能够在开箱即用地运行 Debezium Server 时轻松获取连接器指标。

要启用 JMX Exporter,只需在创建基于 debezium/debezium-server:2.7 或更高版本的容器时指定 JMX_EXPORTER_PORT 环境变量,并确保容器上的外部世界可以访问代理的端口。

JMX Exporter 默认使用 config/metrics.yml 中的配置。如果此配置不够,您将需要显式挂载具有所需配置的自定义文件来覆盖容器的文件。

5.使用 Debezium Operator 启用 JMX Exporter

如果您使用 Debezium Operator 在 Kubernetes 上部署 Debezium Server,则可以通过 Operator 自定义资源直接启用 Debezium Server 中新的 JMX Exporter 功能。为了开始将导出器与运算符一起使用,添加了新的配置操作:

runtime:
  metrics:
    jmxExporter:
      enabled: true
      configFrom:
        key1: value1
        key2: value2

在自定义资源中,jmxExporter.enabled 可打开或关闭导出器。此外,可以使用 jmxExporter.configFrom 部分中的键/值对提供指标配置。

6.快照和流之间的可选延迟

Debezium 2.7 附带了一个新的全局配置选项,streaming.delay.ms。这个新选项会导致连接器在开始流阶段之前执行延迟。

对于某些部署用例,您可能希望保证在流阶段开始之前至少发生一个偏移刷新间隔。在这种用例中,用户应该保证streaming.delay.ms和offset.flush.interval.ms这两个属性是对齐的。

默认情况下,Debezium 不会执行延迟并立即转换到流阶段,以与之前版本的行为保持一致。

相关推荐

  1. Debezium日常分享系列Debezium 2.5.0.Beta1发布

    2024-06-08 02:06:04       50 阅读
  2. Debezium日常分享系列Debezium 2.7.0.Beta1发布

    2024-06-08 02:06:04       29 阅读
  3. Debezium日常分享系列Debezium 2.6.0.Alpha1发布

    2024-06-08 02:06:04       58 阅读
  4. Debezium日常分享系列Debezium 2.7.0.Alpha1发布

    2024-06-08 02:06:04       33 阅读
  5. Debezium日常分享系列Debezium 2.5.0.Final发布

    2024-06-08 02:06:04       57 阅读
  6. Debezium日常分享系列Debezium 2.6.2.Final发布

    2024-06-08 02:06:04       30 阅读
  7. Debezium日常分享系列Debezium and TimescaleDB

    2024-06-08 02:06:04       57 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-06-08 02:06:04       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-06-08 02:06:04       100 阅读
  3. 在Django里面运行非项目文件

    2024-06-08 02:06:04       82 阅读
  4. Python语言-面向对象

    2024-06-08 02:06:04       91 阅读

热门阅读

  1. 面试题--this关键字

    2024-06-08 02:06:04       29 阅读
  2. Vue3视图渲染技术

    2024-06-08 02:06:04       21 阅读
  3. Python怎么把数据从CSV文件导入到MySQL数据库?

    2024-06-08 02:06:04       37 阅读
  4. 【Qt快速入门(二)】- Qt 整体目录结构

    2024-06-08 02:06:04       31 阅读
  5. 深入探讨Qt中的QVariant

    2024-06-08 02:06:04       31 阅读
  6. ChatGPT的基本原理

    2024-06-08 02:06:04       23 阅读
  7. 是时候让临床预测模型进入临床实践

    2024-06-08 02:06:04       30 阅读
  8. Elasticsearch搜索优化-自定义路由规划(routing)

    2024-06-08 02:06:04       29 阅读
  9. Linux系统管理磁盘管理004

    2024-06-08 02:06:04       34 阅读