Apicurio Registry 3.0 发行注记
红帽构建的 Apicurio Registry 新功能
摘要
前言 复制链接链接已复制到粘贴板!
对红帽文档提供反馈
我们感谢您对我们文档的反馈。
要进行改进,请创建一个 Jira 问题,并描述您推荐的更改。尽可能提供更详细的信息,以便我们快速解决您的请求。
前提条件
-
您有一个红帽客户门户网站帐户。此帐户允许您登录到 Red Hat Jira Software 实例。
如果您没有帐户,系统会提示您创建一个帐户。
流程
- 单击以下链接: 创建问题。
- 在 Summary 文本框中,输入问题的简短描述。
在 Description 文本框中,提供以下信息:
- 找到此问题的页面的 URL。
-
有关此问题的详细描述。
您可以将信息保留在任何其他字段中,使其默认值。
- 点 Create 将 JIRA 问题提交到文档团队。
感谢您抽出时间提供反馈。
第 1 章 Apicurio Registry 3.0 发行注记 复制链接链接已复制到粘贴板!
红帽构建的 Apicurio Registry 是标准事件模式和 API 设计的数据存储,基于 Apicurio Registry 开源社区项目。
您可以使用 Apicurio Registry 通过 Web 控制台、REST API、Maven 插件或 Java 客户端来管理和共享数据的结构。例如,客户端应用程序可以将最新的模式更新动态推送到 Apicurio Registry,而无需重新部署。您还可以创建可选规则,以管理 Apicurio Registry 内容随时间变化的方式。这些规则包括验证内容、工件引用的完整性,以及后向或转发 schema 或 API 版本的兼容性。
1.1. Apicurio Registry 安装选项 复制链接链接已复制到粘贴板!
您可以使用以下数据存储选项之一在 OpenShift 上安装 Apicurio Registry:
- PostgreSQL 数据库
- Red Hat AMQ Streams
如需了解更多详细信息,请参阅在 OpenShift 上安装和部署红帽构建的 Apicurio Registry。
1.2. Apicurio Registry 支持的平台 复制链接链接已复制到粘贴板!
Apicurio Registry 3.0 支持以下核心平台:
- Red Hat OpenShift Container Platform: 4.17, 4.16, 4.15, 4.14
- Red Hat OpenShift Service on AWS: 4.15
- Microsoft Azure Red Hat OpenShift: 4.15
- PostgreSQL: 17, 16, 15, 14, 13
- Red Hat AMQ Streams: 2.8, 2.7, 2.5
- OpenJDK: 21, 17
如需了解更多详细信息,请参阅以下文章:
1.2.1. 支持的与其他产品集成 复制链接链接已复制到粘贴板!
Apicurio Registry 3.0 还支持与以下产品集成:
- Red Hat build of Keycloak 26, 24
- Red Hat Single Sign-On (RH-SSO) 7.6
- 红帽构建的 Debezium 2.7
1.3. Apicurio Registry 新功能 复制链接链接已复制到粘贴板!
Apicurio Registry 3 发行版本引入了几个重大更新、增强功能和新功能,包括破坏更改。Apicurio Registry 3.0 包括以下新功能:
- 占位符工件
- 此发行版本引入了在没有初始内容的情况下将工件创建为占位符的功能。占位符工件允许用户在创建时立即应用验证和管理规则,确保即使在添加内容之前也是如此。此功能支持设置前期和内容的规则来增强生命周期控制。
- 分支支持
-
此发行版本引入了工件分支。用户现在可以创建、管理和修改工件分支,包括系统生成
的最新分支。分支允许版本隔离和控制,允许用户跟踪不同分支下的不同工件版本。最新概念现在被正式化为无法删除或修改的系统生成的分支。 - 语义版本
- 此发行版本允许您选择工件语义版本。如果您配置这个选项,Apicurio Registry 根据语义版本约定自动生成和管理分支。例如,创建带有版本 1.0.0 的工件将导致创建分支,如 1.x 和 1.0.x。这些分支会在创建新版本时自动更新,用户无法删除或修改它们。
- 部署
- 在 2.x 中,每个持久性选项都使用自己的容器进行部署。在版本 3.x 中,所有持久性选项都作为单个 Apicurio Registry 后端容器提供,允许您使用环境变量配置持久性选项。
- 可选 UI 部署
- 应用程序现在支持使用或不使用可选的 UI 容器进行部署。如果没有部署 UI,API 仍然可通过交互式 API 文档访问。
- Core API
- 版本 3 API 提供了新功能。版本 2 Core Registry API 仍被支持,但您需要迁移到版本 3 来获取新功能。
- 使用多语言的客户端 SDK
- 此发行版本包括支持使用 Kiota 工具为多种语言生成的客户端 SDK,包括 Java、Python、Golang 和 TypeScript。
- 内容规则层次结构
- 在 2.x 中,内容规则只能应用于全局和工件级别。版本 3.x 引入了第三层,允许在组级别定义规则。这种分层规则系统实现了更精细的控制和灵活性。
- serializers/Deserializers 支持 Pulsar 和 Nats
- serializers/deserializers 已重构,使它们平台无关,并在版本 3 中添加了两个新平台,即 Apache Pulsar 和 Nats。
- 受控删除
- Apicurio Registry 现在包含环境变量,它们管理删除组、工件和版本的功能。这为管理员提供了根据需要启用或禁用删除功能的选项。
- UI 提高
- 用户界面已更新,以反映新的数据模型更改,包括创建空工件、管理版本以及合并标签和属性到统一标记系统的功能。改进了根据标签和组进行过滤以获得更好的用户体验。
- 组管理
- 能够编辑组、按组过滤、查看组和创建组规则。
- 扩展 API 支持
- Apicurio Registry 现在支持 AsyncAPI 3.0,处理用户请求以与最新的 API 规格兼容。
- 只读模式
- Apicurio Registry 可以设置为只读模式,禁用所有后端写入操作。这个模式可以动态启用和禁用。
- UI 配置
- UI 可以独立于后端设置为只读模式,确保用户可以在仍允许后端操作的同时通过 UI 限制更改。
- 空运行模式
- 之前的测试端点已被空运行选项替代。用户可以模拟工件和版本的创建,以便在不进行永久更改的情况下对现有规则和配置进行验证。
- Kafka Storage
- Kafka SQL 存储实现已被完全更新,以提高稳定性和性能,并依赖于 Kafka 日志压缩。
- 快照
- Kafka SQL 后端现在可以定期获取内部 registry 状态的快照,在 registry 的大小增加时可以加快 pod 启动时间。
- 任意 SQL 执行
- Kafka SQL 后端现在允许用户发布自定义 SQL 查询作为 Kafka 信息,通过消息传递系统启用数据库修改。这对批量更新和数据修正特别有用。
- 日志记录
- 现在,默认启用访问日志来提高系统监控和审计功能。
- 增强的创建工作流
- 工件创建过程已使用向导界面进行了调整,允许用户在创建过程中提供详细的元数据和配置版本。
- 支持红帽构建的 Keycloak 24
- Red Hat Single Sign-On (RH-SSO) 7.6 仍被支持,但引用已改为新名称:红帽构建的 Keycloak。
- Apicurio Registry Maven 插件改进
-
使用
pom.xml文件中的autoRef选项,自动检测 Maven 插件中的引用。如需了解更多详细信息,请参阅 Registry-3439。
-
使用
Apicurio Registry 用户文档和示例
开源演示应用程序可从以下位置获得:
1.4. Apicurio Registry 已弃用的功能 复制链接链接已复制到粘贴板!
Apicurio Registry 内核已弃用的功能
- Apicurio Registry Core API 版本 2: Apicurio Registry Core API 原始版本 2 的 Apicurio Registry 支持现已弃用。这个 v2 旧 API 将在下一个主发行版本中删除。
1.5. 升级和迁移 Apicurio Registry 部署 复制链接链接已复制到粘贴板!
不需要自动从 Apicurio Registry 2.x 升级到 Apicurio Registry 3.x,且需要迁移过程。
这个版本是一个技术预览,目前没有迁移过程。
技术预览功能不受红帽产品服务等级协议(SLA)支持,且功能可能并不完整。红帽不推荐在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。
有关红帽技术预览功能支持范围的更多信息,请参阅技术预览功能支持范围。
1.5.1. 更新 2.x 客户端依赖项 复制链接链接已复制到粘贴板!
这不是更新此版本的客户端依赖项所必需的。现有的 Apicurio Registry 2.x 客户端应用程序将继续用于 Apicurio Registry 3.0。
但是,您必须更新所有客户端依赖项,使其尽快使用 Apicurio Registry 的最新版本。客户端依赖项包括 Apicurio Registry Kafka serializers/deserializers (SerDes)、Maven 插件和 Java 客户端应用程序的依赖项。
例如,要更新 Java 客户端应用程序的 Maven 依赖项,请在 pom.xml 文件中指定版本,如下所示:
<dependency>
<groupId>io.apicurio</groupId>
<artifactId>apicurio-registry-client</artifactId>
<version>3.0.0.Final-redhat-00001</version>
</dependency>
1.6. Apicurio Registry 解决的问题 复制链接链接已复制到粘贴板!
1.7. Apicurio Registry 解决了 CVE 复制链接链接已复制到粘贴板!
以下通用漏洞和暴露(CVE)已在 Apicurio Registry 3.0 中解决:
| CVE | 描述 |
|---|---|
| 在 Apache Avro 中发现了一个漏洞,攻击者可以通过使用特殊的 "java-class" 属性来触发远程代码执行。 |
1.8. Apicurio Registry 已知问题 复制链接链接已复制到粘贴板!
以下已知问题适用于 Apicurio Registry 3.0:
Apicurio Registry 内核已知问题
#5732 - kafkasql 存储无法正确处理 owner 字段。
为 KafkaSQL 存储设置 owner-only-authorization 属性无法正常工作。
要解决这个问题,请不要设置 owner-only-authorization。
IPT-114 3- Misleading "warning" 日志消息与 ResultSet 资源泄漏有关
您可能会在日志中看到类似如下的消息:
2024-07-24 08:33:53 WARN <> [io.quarkus.agroal.runtime.AgroalEventLoggingListener] (executor-thread-3) Datasource '<default>': JDBC resources leaked: 1 ResultSet(s) and 0 Statement(s)
此消息不正确,因为没有 JDBC 资源泄漏。
您可以安全地忽略这些消息。
IPT-81 4- Apicurio Registry logout 功能与 RH-SSO 7.6 不兼容
在 RH-SSO 7.6 中,与 logout 端点一起使用的 redirect_uri 参数已弃用。如需了解更多详细信息,请参阅 RH-SSO 7.6 升级指南。由于此弃用,当使用 RH-SSO Operator 保护 Apicurio Registry 时,点 Logout 按钮会显示 Invalid parameter: redirect_uri 错误。
有关临时解决方案,请参阅 https://access.redhat.com/solutions/6980926。
Apicurio Registry Operator 已知问题
operator-42 - Autogeneration of OpenShift 路由可能会使用错误的基本主机值
如果指定了多个 routerCanonicalHostname 值,则 Apicurio Registry OpenShift 路由可能会使用错误的基本主机值。
附录 A. 使用您的订阅 复制链接链接已复制到粘贴板!
Apicurio Registry 通过软件订阅提供。要管理您的订阅,请访问红帽客户门户中的帐户。
访问您的帐户
- 转至 access.redhat.com。
- 如果您还没有帐户,请创建一个帐户。
- 登录到您的帐户。
激活订阅
- 转至 access.redhat.com。
- 导航到 My Subscriptions。
- 导航到 激活订阅 并输入您的 16 位激活号。
下载 ZIP 和 TAR 文件
要访问 ZIP 或 TAR 文件,请使用客户门户网站查找要下载的相关文件。如果您使用 RPM 软件包,则不需要这一步。
- 打开浏览器并登录红帽客户门户网站 产品下载页面,网址为 access.redhat.com/downloads。
- 在 Integration 和 Automation 类别中找到 Red Hat Integration 条目。
- 选择所需的 Apicurio Registry 产品。此时会打开 Software Downloads 页面。
- 单击组件的 Download 链接。
更新于 2025-05-15