第2章 Service Registry データの移行
Service Registry 2.x にデータを移行するには、既存の 1.1 デプロイメントからすべてのデータをエクスポートし、それを新しい 2.x デプロイメントにインポートする必要があります。Kafka アプリケーションのスキーマレジストリーとして Service Registry を使用している場合、Service Registry に保存されるスキーマのグローバル識別子が各 Kafka メッセージにあるため、データの移行が重要になります。この識別子はレジストリーデータの移行時に保持される必要があります。
Service Registry 2.x は、レジストリーデプロイメントからすべてのデータを一括インポート/エクスポートするための API を提供します。これにより、既存レジストリーからデータをインポートする際にすべての識別子が保持されることを保証します。エクスポート API は、アーティファクトのすべての情報が含まれるカスタムの .zip
ファイルをダウンロードします。インポート API はこの .zip
を受け入れ、単一のバッチですべてのアーティファクトをレジストリーに読み込みます。
Service Registry 1.1 はインポート/エクスポート API を提供しません。ただし、バージョン 2.x は Service Registry 1.1 と互換性のあるエクスポートツールを提供し、.zip
をエクスポートして、2.x レジストリーにインポートすることができます。このツールは、一般的な既存 API を使用してレジストリー内のすべてのコンテンツをエクスポートします。ただし、2.x エクスポート API よりもパフォーマンスが劣るため、1.1 レジストリーからエクスポートする場合にのみ使用してください。
前提条件
- エクスポート元の 1.1 サーバーの Service Registry インスタンスと、インポート先の 2.x サーバーが稼働している。
- Red Hat カスタマーポータルから Service Registry exportV1 ツール をダウンロードする。これは、コマンドラインで実行可能な Java アプリケーションです。
手順
exportV1
ツールを使用して Service Registry 1.1 からすべてのデータをエクスポートします。このコマンドにより、現在のディレクトリーにregistry-export.zip
ファイルが生成されます。java -jar apicurio-registry-utils-exportV1-2.3.0.Final.jar http://old-registry.my-company.com/api
インポート API を使用して
.zip
ファイルを Service Registry 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 のインポート/エクスポートに関する詳細は、Service Registry ユーザーガイド を参照してください。
- バージョン 1.x から 2.x に移行するためのエクスポートツールに関する詳細は、Apicurio Registry export utility for 1.x versions を参照してください。