3장. 서비스 레지스트리 클라이언트 애플리케이션 마이그레이션
기존 서비스 레지스트리 클라이언트 애플리케이션을 검토하여 Maven 종속성 및 Java 클라이언트 구성이 버전 2.x의 새 요구 사항을 충족하는지 확인해야 합니다. 예를 들어 Service Registry Java REST 클라이언트 라이브러리 또는 Kafka 클라이언트 serializer/deserializer(Serdes) 라이브러리에 대한 새로운 Maven 종속성이 포함됩니다. 또한 Java 애플리케이션 구성을 새 레지스트리 v2 API 경로로 업데이트해야 합니다.
사전 요구 사항
- SerDes를 사용하는 기존 서비스 레지스트리 1.1 Java 클라이언트 애플리케이션 또는 Kafka 클라이언트 생산자 및 소비자 Java 애플리케이션
프로세스
Service Registry Java REST 클라이언트를 사용하는 경우 버전 2.x에서 다시 패키지된 Service Registry Java 클라이언트 라이브러리의 Maven 종속성을 변경해야 합니다.
<dependency> <groupId>io.apicurio</groupId> <artifactId>apicurio-registry-client</artifactId> <version>2.5.10.Final-redhat-00001</version> </dependency>
Java 클라이언트 애플리케이션에서는 기존 v1 API 경로를 새 v2 경로를 가리키는 레지스트리 URL 구성을 변경해야 합니다. 예를 들면 다음과 같습니다.
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); } }
Java 클라이언트에서 자세한 내용은 서비스 레지스트리 사용자 가이드에서 확인할 수 있습니다.
Service Registry SerDes 라이브러리를 사용하는 경우 버전 2.x에서 다시 패키징된 Maven 종속성을 변경해야 합니다. 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 라이브러리는 사용 사례에 따라 지원되는 각 데이터 형식에 대해
avro
,protobuf
및json 스키마
의 세 가지 Maven 종속 항목으로 나뉩니다.<dependency> <groupId>io.apicurio</groupId> <artifactId>apicurio-registry-serdes-avro-serde</artifactId> <version>2.5.10.Final-redhat-00001</version> </dependency> <dependency> <groupId>io.apicurio</groupId> <artifactId>apicurio-registry-serdes-protobuf-serde</artifactId> <version>2.5.10.Final-redhat-00001</version> </dependency> <dependency> <groupId>io.apicurio</groupId> <artifactId>apicurio-registry-serdes-jsonschema-serde</artifactId> <version>2.5.10.Final-redhat-00001</version> </dependency>
Kafka 생산자 및 소비자 Java 애플리케이션에서는 레지스트리 URL 구성을 기존 v1 API 경로를 가리키지 않고 변경해야 합니다. 예를 들면 다음과 같습니다.
기존 레지스트리 v1 API 경로:
props.putIfAbsent(AbstractKafkaSerDe.REGISTRY_URL_CONFIG_PARAM, "http://old-registry.my-company.com/api");
새로운 레지스트리 v2 API 경로:
props.putIfAbsent(SerdeConfig.REGISTRY_URL, "http://new-registry.my-company.com/apis/registry/v2");
리팩토링된 SerDes 라이브러리에는 구성 속성에 대한 기타 중요한 변경 사항도 포함됩니다. SerDes 구성에 대한 자세한 내용은 서비스 레지스트리 사용자 가이드를 참조하십시오.
추가 리소스
- 자세한 구성 예제는 Apicurio 레지스트리 예제 애플리케이션을 참조하십시오.