2장. 서비스 레지스트리 데이터 마이그레이션
Service Registry 2.x로 데이터를 마이그레이션하려면 기존 1.1 배포에서 모든 데이터를 내보내고 새 2.x 배포로 가져와야 합니다. Service Registry를 Kafka 애플리케이션의 스키마 레지스트리로 사용하는 경우 각 Kafka 메시지가 Service Registry에 저장된 스키마의 글로벌 식별자를 전달하므로 데이터 마이그레이션이 중요합니다. 이 식별자는 레지스트리 데이터 마이그레이션 중에 유지되어야 합니다.
Service Registry 2.x는 레지스트리 배포에서 모든 데이터를 대량 가져오기/내보냈기 위한 API를 제공하므로 기존 레지스트리에서 데이터를 가져올 때 모든 식별자가 유지됩니다. 내보내기 API는 아티팩트에 대한 모든 정보가 포함된 사용자 정의 .zip
파일을 다운로드합니다. 가져오기 API는 이 .zip
을 수락하고 모든 아티팩트를 단일 배치로 레지스트리에 로드합니다.
Service Registry 1.1에서는 가져오기/내보냄 API를 제공하지 않습니다. 그러나 버전 2.x는 서비스 레지스트리 1.1과 호환되는 내보내기 도구를 제공하여 2.x 레지스트리로 가져올 수 있는 .zip
을 내보냅니다. 이 툴은 기존의 일반적인 API를 사용하여 레지스트리의 모든 콘텐츠를 내보냅니다. 그러나 2.x 내보내기 API보다 성능이 떨어지므로 1.1 레지스트리에서 내보낼 때만 사용해야 합니다.
사전 요구 사항
- 내보내는 1.1 서버의 서비스 레지스트리 인스턴스와 가져올 2.x 서버의 서비스 레지스트리 인스턴스를 실행합니다.
- Red Hat 고객 포털에서 Service Registry exportV1 툴 을 다운로드합니다. 명령줄에서 실행할 수 있는 Java 애플리케이션입니다.
프로세스
exportV1
툴을 사용하여 Service Registry 1.1에서 모든 데이터를 내보냅니다. 그러면 현재 디렉터리에registry-export.zip
파일이 생성됩니다.java -jar apicurio-registry-utils-exportV1-2.5.10.Final-redhat-00001.jar http://old-registry.my-company.com/api
가져오기 API를 사용하여
.zip
파일을 서비스 레지스트리 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
다음 명령을 실행하고 count 필드를 비교하여 모든 아티팩트를 새 2.x 레지스트리로 가져왔는지 확인합니다.
curl "http://old-registry.my-company.com/api/search/artifacts"
curl "http://new-registry.my-company.com/apis/registry/v2/search/artifacts"
추가 리소스
- REST API 가져오기/수출에 대한 자세한 내용은 서비스 레지스트리 사용자 가이드를 참조하십시오.
- 버전 1.x에서 2.x로 마이그레이션하는 데 필요한 내보내기 도구에 대한 자세한 내용은 1.x 버전의 Apicurio Registry 내보내기 유틸리티를 참조하십시오.