当前位置: 首页 > 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 不会执行延迟并立即转换到流阶段,以与之前版本的行为保持一致。

相关文章:

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

Debezium日常分享系列之&#xff1a;Debezium 2.7.0.Beta1发布 一、重大变化1.快照工件2.Oracle 二、新功能和改进1.在 z/OS 上支持 Db22.NATS JetStream 接收器身份验证改进3.JDBC 接收器 MariaDB 方言支持4.JMX 导出器添加到 Debezium 服务器5.使用 Debezium Operator 启用 J…...

eNSP学习——RIP的水平分割和触发更新

目录 主要命令 原理概述 实验目的 实验内容 实验拓扑 实验编址 实验步骤 1、基本配置 2、搭建RIP网络 3、验证触发更新 4&#xff0e;验证水平分割 5、验证毒性逆转 需要eNSP各种配置命令的点击链接自取&#xff1a;华为&#xff45;NSP各种设备配置命令大全PDF版_…...

华为面经整理

文章目录 实习第一面准备提问相关算法相关 第一面结果提问环节 总结 实习 第一面准备 提问相关 操作系统有哪些功能 进程管理&#xff1a; 进程调度、进程同步和通信、多任务处理 内存管理&#xff1a; 内存分配、虚拟内存技术、内存保护 文件系统管理&#xff1a; 文件存储…...

数据恢复工具推荐:电脑回收站删除的文件怎么恢复?8个回收站恢复软件,收藏!

当文件从电脑的回收站被删除后&#xff0c;许多用户可能认为这些文件已永久丢失。然而&#xff0c;实际上&#xff0c;在数据被新数据覆盖之前&#xff0c;这些删除的文件仍然可以通过使用专门的数据恢复软件来恢复。本文将介绍8款顶级的文件恢复软件&#xff0c;恢复电脑回收站…...

Java 执行字符串 GroovyShell

1...

前端之npm运行时配置文件.npmrc(可用于配置npm淘宝源)

文章目录 前端之npm运行时配置文件.npmrc什么是.npmrc设置项目配置文件设置用户配置文件设置全局配置文件给npm 命令添加注册源选项 前端之npm运行时配置文件.npmrc 什么是.npmrc 官网&#xff1a;https://nodejs.cn/npm/cli/v7/configuring-npm/npmrc/ .npmrc&#xff0c;可…...

如何充分利用代理IP扩大网络接触面

目录 前言 第一部分&#xff1a;什么是代理IP&#xff1f; 第二部分&#xff1a;如何获取代理IP&#xff1f; 1. IP质量 2. 匿名性 3. 限制 第三部分&#xff1a;如何使用代理IP&#xff1f; 第四部分&#xff1a;如何充分利用代理IP&#xff1f; 总结&#xff1a; 前…...

StableDiffusion Windows本地部署

检查电脑环境 启动CMD命令窗。 如上图&#xff0c;在CMD窗口输入python命令&#xff0c;可查看本地安装的python版本信息等。输入exit()退出python命令行 执行where命令&#xff0c;可查看python安装目录。 必须安装Python3.10.x&#xff0c;因为stable-diffusion-webui的一…...

OpenCV学习(4.5) 图像的形态转换

1.目标 在本教程中&#xff1a; 我们将学习不同的形态操作&#xff0c;如腐蚀、膨胀、开、闭等。我们将看到不同的函数&#xff0c;如&#xff1a; cv.erode()**、 **cv.dilate()**、 **cv.morphologyEx() 等。 理论&#xff1a; 图像的形态转换是图像处理中的一个重要领域…...

MFC设置窗口在Z轴上的位置

函数原型&#xff1a; BOOL CWnd::SetWindowPos(const CWnd* pWndInsertAfter, int x, int y, int cx, int cy, UINT nFlags);返回值&#xff1a; 如果函数成功&#xff0c;则返回非零值&#xff1b;否则返回0。 参数&#xff1a; pWndInsertAfter&#xff1a;标识了在Z轴次…...

STM32项目分享:智能门禁锁系统

目录 一、前言 二、项目简介 1.功能详解 2.主要器件 三、原理图设计 四、PCB硬件设计 1.PCB图 2.PCB板及元器件图 五、程序设计 六、实验效果 七、资料内容 项目分享 一、前言 项目成品图片&#xff1a; 哔哩哔哩视频链接&#xff1a; https://www.bilibili.c…...

PostgreSQL中有没有类似Oracle的dba_objects系统视图

PostgreSQL中有没有类似Oracle的dba_objects系统视图 在PostgreSQL中&#xff0c;没有一个完全集成了所有对象信息的视图&#xff08;类似于Oracle中的DBA_OBJECTS&#xff09;。但是&#xff0c;PostgreSQL提供了一些系统目录表和视图&#xff0c;可以用来获取数据库对象的信…...

【kubernetes】探索k8s集群的配置资源(secret和configma)

目录 一、Secret 1.1Secret 有四种类型 1.2Pod 有 3 种方式来使用 secret 1.3应用场景&#xff1a;凭据 1.4创建 Secret 1.4.1用kubectl create secret命令创建Secret 1.4.2内容用 base64 编码&#xff0c;创建Secret 1.4.2.1Base64编码 1.4.2.2创建YAML文件 1.4.2.3…...

基于springboot实现社区养老服务系统项目【项目源码+论文说明】计算机毕业设计

基于springboot实现社区养老服务系统演示 摘要 现代经济快节奏发展以及不断完善升级的信息化技术&#xff0c;让传统数据信息的管理升级为软件存储&#xff0c;归纳&#xff0c;集中处理数据信息的管理方式。本社区养老服务系统就是在这样的大环境下诞生&#xff0c;其可以帮助…...

用linux 1分钟部署一台文件上传/下载的http/https服务器

安装包官网&#xff1a;GitHub - codeskyblue/gohttpserver: The best HTTP Static File Server, write with golangvue 1、官网下载或本文章的资源链接下载gohttpserver&#xff1b; 2、将gohttpserver、cacert.pem、cakey.pem三个文件放在linux一个目录下 启动gohttpserver服…...

机器学习ML.NET

适用于 .NET 的机器学习 ML.NET 是用于 .NET 的跨平台开源机器学习 (ML) 框架。 ML.NET 允许开发人员在其 .NET 应用程序中轻松构建、训练、部署和使用自定义模型,而无需开发机器学习模型的专业知识或使用 Python 或 R 等其他编程语言的经验。该框架提供从文件和数据库加载…...

爬取基金收盘价并用pyecharts进行展现

爬取基金收盘价并用pyecharts进行展现 一、用到的第三方包 因为使用到了一些第三方的包&#xff0c;包还是比较大的如果直接从社区下载比较费劲&#xff0c;所以建议配置国内镜像源&#xff0c;这里以清华的镜像源为例。 pip config set global.index-url https://pypi.tuna…...

各平台对象存储

一、阿里云对象存储 官方文档&#xff1a;https://help.aliyun.com/zh/oss/getting-started/getting-started-with-oss?spma2c4g.11186623.0.0.299a646c6nWWcW 1.引入maven 官网&#xff1a;https://help.aliyun.com/zh/oss/developer-reference/java-installation?spma2c…...

C# 中提取方法进行重构

文章目录 1、什么是提取方法重构技术&#xff1f;2、提取方法重构 C# 代码示例3、提取方法重构技术的好处4、提取方法重构有用的场景5、总结 C# 中的提取方法重构技术 1、什么是提取方法重构技术&#xff1f; 重构代码是软件工程师的一项重要技能&#xff0c;因为它有助于提高…...

每天一个数据分析题(三百四十三)

同环比是帮助阅读者了解维度项表现水平有没有随着时间的推移而得以增长提升&#xff0c;以下对于同环比的说法正确的是&#xff1f; A. 同环比计算方法一般适用于对长周期业务行为结果的观测 B. 若产品具备季节属性特征&#xff0c;则应优先使用同比计算方法 C. 上期值一般指…...

synchronized 学习

学习源&#xff1a; https://www.bilibili.com/video/BV1aJ411V763?spm_id_from333.788.videopod.episodes&vd_source32e1c41a9370911ab06d12fbc36c4ebc 1.应用场景 不超卖&#xff0c;也要考虑性能问题&#xff08;场景&#xff09; 2.常见面试问题&#xff1a; sync出…...

golang循环变量捕获问题​​

在 Go 语言中&#xff0c;当在循环中启动协程&#xff08;goroutine&#xff09;时&#xff0c;如果在协程闭包中直接引用循环变量&#xff0c;可能会遇到一个常见的陷阱 - ​​循环变量捕获问题​​。让我详细解释一下&#xff1a; 问题背景 看这个代码片段&#xff1a; fo…...

MySQL 隔离级别:脏读、幻读及不可重复读的原理与示例

一、MySQL 隔离级别 MySQL 提供了四种隔离级别,用于控制事务之间的并发访问以及数据的可见性,不同隔离级别对脏读、幻读、不可重复读这几种并发数据问题有着不同的处理方式,具体如下: 隔离级别脏读不可重复读幻读性能特点及锁机制读未提交(READ UNCOMMITTED)允许出现允许…...

Day131 | 灵神 | 回溯算法 | 子集型 子集

Day131 | 灵神 | 回溯算法 | 子集型 子集 78.子集 78. 子集 - 力扣&#xff08;LeetCode&#xff09; 思路&#xff1a; 笔者写过很多次这道题了&#xff0c;不想写题解了&#xff0c;大家看灵神讲解吧 回溯算法套路①子集型回溯【基础算法精讲 14】_哔哩哔哩_bilibili 完…...

使用van-uploader 的UI组件,结合vue2如何实现图片上传组件的封装

以下是基于 vant-ui&#xff08;适配 Vue2 版本 &#xff09;实现截图中照片上传预览、删除功能&#xff0c;并封装成可复用组件的完整代码&#xff0c;包含样式和逻辑实现&#xff0c;可直接在 Vue2 项目中使用&#xff1a; 1. 封装的图片上传组件 ImageUploader.vue <te…...

使用Spring AI和MCP协议构建图片搜索服务

目录 使用Spring AI和MCP协议构建图片搜索服务 引言 技术栈概览 项目架构设计 架构图 服务端开发 1. 创建Spring Boot项目 2. 实现图片搜索工具 3. 配置传输模式 Stdio模式&#xff08;本地调用&#xff09; SSE模式&#xff08;远程调用&#xff09; 4. 注册工具提…...

FFmpeg avformat_open_input函数分析

函数内部的总体流程如下&#xff1a; avformat_open_input 精简后的代码如下&#xff1a; int avformat_open_input(AVFormatContext **ps, const char *filename,ff_const59 AVInputFormat *fmt, AVDictionary **options) {AVFormatContext *s *ps;int i, ret 0;AVDictio…...

react菜单,动态绑定点击事件,菜单分离出去单独的js文件,Ant框架

1、菜单文件treeTop.js // 顶部菜单 import { AppstoreOutlined, SettingOutlined } from ant-design/icons; // 定义菜单项数据 const treeTop [{label: Docker管理,key: 1,icon: <AppstoreOutlined />,url:"/docker/index"},{label: 权限管理,key: 2,icon:…...

Docker 镜像上传到 AWS ECR:从构建到推送的全流程

一、在 EC2 实例中安装 Docker&#xff08;适用于 Amazon Linux 2&#xff09; 步骤 1&#xff1a;连接到 EC2 实例 ssh -i your-key.pem ec2-useryour-ec2-public-ip步骤 2&#xff1a;安装 Docker sudo yum update -y sudo amazon-linux-extras enable docker sudo yum in…...

小白的进阶之路系列之十四----人工智能从初步到精通pytorch综合运用的讲解第七部分

通过示例学习PyTorch 本教程通过独立的示例介绍PyTorch的基本概念。 PyTorch的核心提供了两个主要特性: 一个n维张量,类似于numpy,但可以在gpu上运行 用于构建和训练神经网络的自动微分 我们将使用一个三阶多项式来拟合问题 y = s i n ( x ) y=sin(x) y=sin(x),作为我们的…...