当前位置: 首页 > news >正文

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

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

  • 一、重大变化
    • 1.快照工件
    • 2.Oracle
  • 二、新功能和改进
    • 1.在 z/OS 上支持 Db2
    • 2.NATS JetStream 接收器身份验证改进
    • 3.JDBC 接收器 MariaDB 方言支持
    • 4.JMX 导出器添加到 Debezium 服务器
    • 5.使用 Debezium Operator 启用 JMX Exporter
    • 6.快照和流之间的可选延迟

一、重大变化

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: trueconfigFrom:key1: value1key2: value2

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

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

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

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

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

http://www.lryc.cn/news/365948.html

相关文章:

  • eNSP学习——RIP的水平分割和触发更新
  • 华为面经整理
  • 数据恢复工具推荐:电脑回收站删除的文件怎么恢复?8个回收站恢复软件,收藏!
  • Java 执行字符串 GroovyShell
  • 前端之npm运行时配置文件.npmrc(可用于配置npm淘宝源)
  • 如何充分利用代理IP扩大网络接触面
  • StableDiffusion Windows本地部署
  • OpenCV学习(4.5) 图像的形态转换
  • MFC设置窗口在Z轴上的位置
  • STM32项目分享:智能门禁锁系统
  • PostgreSQL中有没有类似Oracle的dba_objects系统视图
  • 【kubernetes】探索k8s集群的配置资源(secret和configma)
  • 基于springboot实现社区养老服务系统项目【项目源码+论文说明】计算机毕业设计
  • 用linux 1分钟部署一台文件上传/下载的http/https服务器
  • 机器学习ML.NET
  • 爬取基金收盘价并用pyecharts进行展现
  • 各平台对象存储
  • C# 中提取方法进行重构
  • 每天一个数据分析题(三百四十三)
  • 【leetcode--统计优美子数组】
  • 开源模型应用落地-LangChain高阶-LCEL-表达式语言(二)
  • shell脚本对编码和行尾符敏感吗
  • 神经网络----现有网络的下载和使用(vgg16)
  • Java 异常处理 - 自定义异常
  • Excel 交叉表的格转成列,行转成格
  • 【C++软件调试技术】什么是pdb文件?如何使用pdb文件?哪些工具需要使用pdb文件?
  • 如何搭建一台永久运行的个人服务器?
  • Ant Design+react 表单只读
  • 推荐系统三十六式学习笔记:原理篇.近邻推荐07|人以群分,你是什么人就看到什么世界
  • 要改进单例模式的实现以确保线程安全并优化性能,有几种常见的方法