迁移 Service Registry 部署
从 Service Registry 版本 1.1 迁移到 2.5
摘要
前言 复制链接链接已复制到粘贴板!
使开源包含更多
红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。我们从这四个术语开始:master、slave、黑名单和白名单。由于此项工作十分艰巨,这些更改将在即将推出的几个发行版本中逐步实施。详情请查看 CTO Chris Wright 的信息。
对红帽文档提供反馈
我们感谢您对我们文档的反馈。
要改进,创建一个 JIRA 问题并描述您推荐的更改。提供尽可能多的详细信息,以便我们快速解决您的请求。
前提条件
-
您有一个红帽客户门户网站帐户。此帐户可让您登录到 Red Hat Jira Software 实例。
如果您没有帐户,系统会提示您创建一个帐户。
流程
- 单击以下链接: 创建问题。
- 在 Summary 文本框中输入问题的简短描述。
在 Description 文本框中提供以下信息:
- 找到此问题的页面的 URL。
-
有关此问题的详细描述。
您可以将信息保留在任何其他字段中的默认值。
- 点 Create 将 JIRA 问题提交到文档团队。
感谢您花时间来提供反馈。
第 1 章 从 Service Registry 1.1 迁移到 2.x 复制链接链接已复制到粘贴板!
Service Registry 2.x 包括的新功能可能包括会破坏之前 Service Registry 1.1 发行版本功能的变化。本节论述了 Service Registry 1.1 和版本 2.x 之间的主要变化。
由于 2.x 中的具有破坏性的变化,因此没有自动升级,需要执行一个迁移过程。这包括将现有 registry 中的数据移到新 registry 中。您还必须查看现有的 registry 客户端应用程序并更新其配置以满足新要求。
当迁移到 2.x 版本时,您必须考虑以下主要更改:
1.1. 新数据存储选项 复制链接链接已复制到粘贴板!
Service Registry 1.1 (streams
、jpa
和 infinispan
) 中的现有 registry 数据存储选项已被版本 2.x 中的新存储选项 (sql
和 kafkasql
) 替代。这些新存储选项提供更强大的、性能和维护的 Service Registry 部署。
有关如何使用您选择的存储选项部署 Service Registry 2.x 的详情,请参阅在 OpenShift 上安装和部署 Service Registry。
1.2. 新的 v2 REST API 复制链接链接已复制到粘贴板!
Service Registry 2.x 包括一个新的 REST API,支持工件组,并改进了长期可维护性。Service Registry 仍然支持原始 registry v1 REST API 和兼容性 API,如 Confluent 和 IBM schema registry API。Service Registry 现在实现了 CNCF 云事件规格中提供的 Schema Registry 规格。
1.3. 重构的 Java 客户端库 复制链接链接已复制到粘贴板!
-
Service Registry Java 客户端类在版本 2.x 中提供,名为
apicurio-registry-client
的不同 Maven 模块。 - Kafka 客户端序列化器和反序列化器(SerDes)类在三个不同的 Maven 模块中包括在版本 2.x 中,每个支持的数据格式都有一个: Apache Avro、Protobuf 和 JSON Schema。现在,您只能在不拉取的、不涉及的依赖软件包的情况下使用您想要的模块。
第 2 章 迁移 Service Registry 数据 复制链接链接已复制到粘贴板!
将数据迁移到 Service Registry 2.x 需要从现有 1.1 部署导出所有数据,并将其导入到新的 2.x 部署中。如果您使用 Service Registry 作为 Kafka 应用程序的模式 registry,则数据迁移至关重要,因为每个 Kafka 消息传输存储在 Service Registry 中的模式的全局标识符。此标识符必须在 registry 数据迁移过程中保留。
Service Registry 2.x 提供了一个 API,用于批量导入/导出 registry 部署中的所有数据,这样可保证从现有 registry 中导入数据时保留所有标识符。导出 API 下载自定义 .zip
文件,其中包含您的工件的所有信息。导入 API 接受此 .zip
,并将所有工件加载到单个批处理中的 registry 中。
Service Registry 1.1 不提供导入/导出 API。但是,版本 2.x 提供了一个与 Service Registry 1.1 兼容的导出工具,可以导出一个 .zip
,它可以导入到 2.x registry。此工具使用通用现有 API 来导出 registry 中的所有内容。但是,它的性能小于 2.x 导出 API,并且仅在从 1.1 registry 导出时使用。
先决条件
- 运行您要从中导出的 1.1 服务器的 Service Registry 实例,以及您要导入的 2.x 服务器。
- 从红帽客户门户下载 Service Registry exportV1 工具。这是您可以在命令行中运行的 Java 应用程序。
流程
使用
exportV1
工具导出 Service Registry 1.1 中的所有数据。这会在当前目录中生成registry-export.zip
文件:java -jar apicurio-registry-utils-exportV1-2.5.10.Final-redhat-00001.jar http://old-registry.my-company.com/api
java -jar apicurio-registry-utils-exportV1-2.5.10.Final-redhat-00001.jar http://old-registry.my-company.com/api
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用导入 API 将
.zip
文件导入到 Service Registry 2.x 中:curl -X POST "http://new-registry.my-company.com/apis/registry/v2/admin/import" \ -H "Accept: application/json" -H "Content-Type: application/zip" \ --data-binary @registry-export.zip
curl -X POST "http://new-registry.my-company.com/apis/registry/v2/admin/import" \ -H "Accept: application/json" -H "Content-Type: application/zip" \ --data-binary @registry-export.zip
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令并比较 count 字段,检查所有工件是否已导入到新的 2.x registry 中:
curl "http://old-registry.my-company.com/api/search/artifacts"
curl "http://old-registry.my-company.com/api/search/artifacts"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow curl "http://new-registry.my-company.com/apis/registry/v2/search/artifacts"
curl "http://new-registry.my-company.com/apis/registry/v2/search/artifacts"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
第 3 章 迁移 Service Registry 客户端应用程序 复制链接链接已复制到粘贴板!
您必须检查现有的 Service Registry 客户端应用程序,以确保 Maven 依赖项和 Java 客户端配置满足版本 2.x 的新要求。例如,这包括 Service Registry Java REST 客户端库或 Kafka 客户端序列化器(Serdes)库的新 Maven 依赖项。您还必须使用新的 registry v2 API 路径更新 Java 应用程序配置。
先决条件
- 使用 SerDe 现有 Service Registry 1.1 Java 客户端应用程序或 Kafka 客户端制作者和消费者 Java 应用程序
流程
如果使用 Service Registry Java REST 客户端,您必须更改 Service Registry Java 客户端库的 Maven 依赖项,该库已在版本 2.x 中重新打包:
<dependency> <groupId>io.apicurio</groupId> <artifactId>apicurio-registry-client</artifactId> <version>2.5.10.Final-redhat-00001</version> </dependency>
<dependency> <groupId>io.apicurio</groupId> <artifactId>apicurio-registry-client</artifactId> <version>2.5.10.Final-redhat-00001</version> </dependency>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在 Java 客户端应用程序中,您必须更改 registry URL 配置,从指向现有的 v1 API 路径到新的 v2 路径。例如:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 您可以在 Service Registry 用户指南 中找到有关 Java 客户端的更多详细信息。
如果使用 Service Registry SerDes 库,您必须更改 Maven 依赖项,这些依赖项已在版本 2.x 中重新打包。在 Service Registry 1.1 中,SerDes 库只由一个 Maven 依赖项提供:
<dependency> <groupId>io.apicurio</groupId> <artifactId>apicurio-registry-utils-serde</artifactId> <version>1.3.2.Final-redhat-00002</version> </dependency>
<dependency> <groupId>io.apicurio</groupId> <artifactId>apicurio-registry-utils-serde</artifactId> <version>1.3.2.Final-redhat-00002</version> </dependency>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在 Service Registry 2.x 中,SerDes 库被分成三个 Maven 依赖项,每个支持的数据格式都有一个:
avro
、protobuf
和json 模式
,具体取决于您的用例:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在 Kafka 生成者和消费者 Java 应用程序中,您必须更改 registry URL 配置,将其从指向现有的 v1 API 路径改为指向新的 v2 路径。例如:
现有 registry v1 API 路径 :
props.putIfAbsent(AbstractKafkaSerDe.REGISTRY_URL_CONFIG_PARAM, "http://old-registry.my-company.com/api");
props.putIfAbsent(AbstractKafkaSerDe.REGISTRY_URL_CONFIG_PARAM, "http://old-registry.my-company.com/api");
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 新 registry v2 API 路径 :
props.putIfAbsent(SerdeConfig.REGISTRY_URL, "http://new-registry.my-company.com/apis/registry/v2");
props.putIfAbsent(SerdeConfig.REGISTRY_URL, "http://new-registry.my-company.com/apis/registry/v2");
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重构的 SerDes 库还包括其他对配置属性的重要更改。有关 SerDes 配置的详情,请参阅 Service Registry 用户指南。
附录 A. 使用您的订阅 复制链接链接已复制到粘贴板!
Service Registry 通过软件订阅提供。要管理您的订阅,请访问红帽客户门户中的帐户。
访问您的帐户
- 转至 access.redhat.com。
- 如果您还没有帐户,请创建一个帐户。
- 登录到您的帐户。
激活订阅
- 转至 access.redhat.com。
- 导航到 My Subscriptions。
- 导航到 激活订阅 并输入您的 16 位激活号。
下载 ZIP 和 TAR 文件
要访问 ZIP 或 TAR 文件,请使用客户门户网站查找下载的相关文件。如果您使用 RPM 软件包,则不需要这一步。
- 打开浏览器并登录红帽客户门户网站 产品下载页面,网址为 access.redhat.com/downloads。
- 在 Integration 和 Automation 类别中找到 Red Hat Integration 条目。
- 选择所需的 Service Registry 产品。此时会打开 Software Downloads 页面。
- 单击组件的 Download 链接。
更新于 2024-03-23