第 3 章 迁移 Service Registry 客户端应用程序


您必须检查现有的 Service Registry 客户端应用程序,以确保 Maven 依赖项和 Java 客户端配置满足版本 2.x 的新要求。例如,这包括 Service Registry Java REST 客户端库或 Kafka 客户端序列化器/反序列化器(Serdes)库的新 Maven 依赖项。您还必须使用新的 registry v2 API 路径更新 Java 应用程序配置。

先决条件

  • 现有 Service Registry 1.1 Java 客户端应用程序或 Kafka 客户端制作者,以及带有 SerDes 的消费者 Java 应用程序

流程

  1. 如果使用 Service Registry Java REST 客户端,您必须更改 Service Registry Java 客户端库的 Maven 依赖项,该库已在 2.x 版本中重新打包:

    <dependency>
        <groupId>io.apicurio</groupId>
        <artifactId>apicurio-registry-client</artifactId>
        <version>2.4.3.Final-redhat-00006</version>
    </dependency>
  2. 在 Java 客户端应用程序中,您必须更改 registry URL 配置,使其从指向现有的 v1 API 路径到新的 v2 路径。例如:

    public class ClientExample {
    
        private static final RegistryRestClient client;
    
         public static void main(String[] args) throws Exception {
            // Create a registry client
            String registryUrl = "https://new-registry.my-company.com/apis/registry/v2";
            RegistryClient client = RegistryClientFactory.create(registryUrl);
        }
    }

    您可以在 Service Registry 用户指南 中找到有关 Java 客户端的更多详细信息。

  3. 如果使用 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>

    在 Service Registry 2.x 中,SerDes 库被分成三个 Maven 依赖项,每个支持的数据格式一个: avroprotobufjson 模式,取决于您的用例:

    <dependency>
        <groupId>io.apicurio</groupId>
        <artifactId>apicurio-registry-serdes-avro-serde</artifactId>
        <version>2.4.3.Final-redhat-00006</version>
    </dependency>
    <dependency>
        <groupId>io.apicurio</groupId>
        <artifactId>apicurio-registry-serdes-protobuf-serde</artifactId>
        <version>2.4.3.Final-redhat-00006</version>
    </dependency>
    <dependency>
        <groupId>io.apicurio</groupId>
        <artifactId>apicurio-registry-serdes-jsonschema-serde</artifactId>
        <version>2.4.3.Final-redhat-00006</version>
    </dependency>
  4. 在 Kafka producer 和消费者 Java 应用程序中,您必须更改 registry URL 配置,使其从指向现有的 v1 API 路径。例如:

    现有 registry v1 API 路径

    props.putIfAbsent(AbstractKafkaSerDe.REGISTRY_URL_CONFIG_PARAM, "http://old-registry.my-company.com/api");

    新的 registry v2 API 路径

    props.putIfAbsent(SerdeConfig.REGISTRY_URL, "http://new-registry.my-company.com/apis/registry/v2");

    重构的 SerDes 库还包括对配置属性的其他重要更改。有关 SerDes 配置的详情,请参阅 Service Registry 用户指南

其他资源

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.