第 2 章 迁移 Service Registry 数据


将数据迁移到 Service Registry 2.x 需要从现有的 1.1 部署导出所有数据,并将其导入到新的 2.x 部署中。如果您使用 Service Registry 作为 Kafka 应用程序的 schema registry,数据迁移非常重要,因为每个 Kafka 消息都带有存储在 Service Registry 中的 schema 的全局标识符。这个标识符必须在 registry 数据迁移过程中保留。

Service Registry 2.x 提供了一个 API,用于批量导入/导出来自 registry 部署的所有数据,这样保证在从现有 registry 导入数据时会保留所有标识符。export API 下载包含工件的所有信息的自定义 .zip 文件。导入 API 接受此 .zip,并将所有工件加载到一个批处理中的注册表中。

Service Registry 1.1 不提供导入/导出 API。但是,版本 2.x 提供与 Service Registry 1.1 兼容的导出工具,以导出 .zip,您可以导入到 2.x registry。此工具使用常见的现有 API 导出 registry 中的所有内容。但是,它比 2.x 导出 API 执行,且只能在从 1.1 注册表导出时使用。

先决条件

  • 运行您要从中导出的 1.1 服务器的 Service Registry 实例,以及您导入到 2.x 服务器的 Service Registry 实例。
  • 从红帽客户门户网站下载 Service Registry exportV1 工具。这是您可以在命令行中运行的 Java 应用程序。

流程

  1. 使用 exportV1 工具从 Service Registry 1.1 导出所有数据。这会在您的当前目录中生成 registry-export.zip 文件:

    java -jar apicurio-registry-utils-exportV1-2.3.0.Final.jar http://old-registry.my-company.com/api
  2. 使用导入 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
  3. 通过运行这些命令并比较 count 字段,检查所有工件是否已导入到新的 2.x registry 中:

    curl "http://old-registry.my-company.com/api/search/artifacts"
    curl "http://new-registry.my-company.com/apis/registry/v2/search/artifacts"

其他资源

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.