第 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 用户指南。