第 3 章 迁移 Service Registry 客户端应用程序
您必须查看现有的 Service Registry 客户端应用程序,以确保 Maven 依赖项和 Java 客户端配置满足版本 2.x 的新要求。例如,这包括 Service Registry Java REST 客户端库或 Kafka 客户端序列化r/deserializer(Serdes)库的新 Maven 依赖项。您还必须使用新的 registry v2 API 路径更新 Java 应用程序配置。
先决条件
- 现有 Service Registry 1.1 Java 客户端应用程序,或使用 SerDes 的 Kafka 客户端制作者和消费者 Java 应用程序
流程
如果使用 Service Registry Java REST 客户端,您必须更改 Service Registry Java 客户端库的 Maven 依赖项,该依赖关系已在 2.x 版本中被重新打包:
<dependency> <groupId>io.apicurio</groupId> <artifactId>apicurio-registry-client</artifactId> <version>2.3.0.Final</version> </dependency><dependency> <groupId>io.apicurio</groupId> <artifactId>apicurio-registry-client</artifactId> <version>2.3.0.Final</version> </dependency>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在 Java 客户端应用程序中,您必须更改 registry URL 配置,使其指向新 v2 路径的现有 v1 API 路径。例如:
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</version> </dependency><dependency> <groupId>io.apicurio</groupId> <artifactId>apicurio-registry-utils-serde</artifactId> <version>1.3.2.Final</version> </dependency>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在 Service Registry 2.x 中,SerDes 库被分成三个 Maven 依赖项,每个支持的数据格式对应:
avroprotobuf、protobuf 和json 模式,具体取决于您的用例:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在 Kafka producer 和消费者 Java 应用程序中,您必须更改 registry URL 配置,使其指向新的 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 用户指南。