Service Registry デプロイメントの移行
Service Registry バージョン 1.1 から 2.5 への移行
概要
はじめに リンクのコピーリンクがクリップボードにコピーされました!
多様性を受け入れるオープンソースの強化
Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。まずは、マスター (master)、スレーブ (slave)、ブラックリスト (blacklist)、ホワイトリスト (whitelist) の 4 つの用語の置き換えから始めます。この取り組みは膨大な作業を要するため、用語の置き換えは、今後の複数のリリースにわたって段階的に実施されます。詳細は、Red Hat CTO である Chris Wright のメッセージ をご覧ください。
Red Hat ドキュメントへのフィードバック
Red Hat ドキュメントに関するご意見やご感想をお寄せください。
改善を提案するには、Jira 課題を作成し、変更案を説明してください。ご要望に迅速に対応できるよう、できるだけ詳細にご記入ください。
前提条件
-
Red Hat カスタマーポータルのアカウントがある。このアカウントを使用すると、Red Hat Jira Software インスタンスにログインできます。
アカウントをお持ちでない場合は、アカウントを作成するように求められます。
手順
- Create issue にアクセスします。
- Summary テキストボックスに、問題の簡単な説明を入力します。
Description テキストボックスに、次の情報を入力します。
- 問題が見つかったページの URL
-
問題の詳細情報
他のフィールドの情報はデフォルト値のままにすることができます。
- Create をクリックして、Jira 課題をドキュメントチームに送信します。
フィードバックをご提供いただきありがとうございました。
第1章 Service Registry 1.1 から 2.x への移行 リンクのコピーリンクがクリップボードにコピーされました!
Service Registry 2.x には、前リリースの Service Registry 1.1 からの変更点を含む新機能が含まれています。ここでは、Service Registry 1.1 とバージョン 2.x との間の主な変更点を説明します。
2.x での重大な変更により、自動アップグレードは行われず、移行作業が必要となります。これには、既存レジストリーのデータを新規レジストリーに移動することも含まれます。また、既存のレジストリークライアントアプリケーションを見直し、新しい要件に合わせて設定を更新する必要があります。
バージョン 2.x に移行する際には、以下の主要な変更点を考慮する必要があります。
1.1. 新規データストレージオプション リンクのコピーリンクがクリップボードにコピーされました!
Service Registry 1.1 の既存のレジストリーデータストレージオプション (streams、jpa、および infinispan) は、バージョン 2.x (sql および kafkasql) の新しいストレージオプションに置き換えられました。これらの新たなストレージオプションは、より堅牢で、パフォーマンスが高く、メンテナンス性に優れた Service Registry デプロイメントを提供します。
選択したストレージオプションを使用して、Service Registry 2.x をデプロイする方法の詳細は、OpenShift への Service Registry のインストールとデプロイ を参照してください。
1.2. 新しい v2 REST API リンクのコピーリンクがクリップボードにコピーされました!
Service Registry 2.x には、アーティファクトグループをサポートし、長期的な保守性を向上する新しい REST API が含まれています。Service Registry は、Confluent や IBM スキーマレジストリー API など、元のレジストリー v1 REST API と互換性 API をサポートします。また、Service Registry は CNCF Cloud Events 仕様で提供される Schema Registry 仕様を実装するようになりました。
1.3. リファクタリングされた Java クライアントライブラリー リンクのコピーリンクがクリップボードにコピーされました!
-
サービスレジストリーの Java クライアントクラスは、バージョン 2.x では
apicurio-registry-clientという別の Maven モジュールで提供されています。 - Kafka クライアントシリアライザーおよびデシリアライザー (SerDe) クラスは、バージョン 2.x では、サポートされているデータフォーマットごとに 1 つずつ、3 つの異なる Maven モジュール (Apache Avro、Protobuf、および JSON Schema) で利用できます。これにより、関係のない推移的な依存関係にプルせずに必要なモジュールのみを使用できるようになりました。
第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.5.10.Final-redhat-00001.jar http://old-registry.my-company.com/api
java -jar apicurio-registry-utils-exportV1-2.5.10.Final-redhat-00001.jar http://old-registry.my-company.com/apiCopy to Clipboard Copied! Toggle word wrap Toggle overflow インポート 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
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.zipCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下のコマンドを実行して、count フィールドを比較することで、すべてのアーティファクトが新しい 2.x レジストリーにインポートされていることを確認します。
curl "http://old-registry.my-company.com/api/search/artifacts"
curl "http://old-registry.my-company.com/api/search/artifacts"Copy to Clipboard Copied! Toggle word wrap Toggle overflow curl "http://new-registry.my-company.com/apis/registry/v2/search/artifacts"
curl "http://new-registry.my-company.com/apis/registry/v2/search/artifacts"Copy to Clipboard Copied! Toggle word wrap Toggle overflow
第3章 Service Registry クライアントアプリケーションの移行 リンクのコピーリンクがクリップボードにコピーされました!
既存の Service Registry クライアントアプリケーションを確認し、Maven の依存関係と Java クライアントの設定がバージョン 2.x の新しい要件を満たしていることを確認する必要があります。この依存関係には、Service Registry Java REST クライアントライブラリーまたは Kafka クライアントシリアライザー/デシリアライザー (Serdes) ライブラリーの新しい Maven 依存関係などが含まれます。また、新しいレジストリー v2 API パスに合わせて Java アプリケーション設定を更新する必要もあります。
前提条件
- 既存の Service Registry 1.1 Java アプリケーションまたは SerDes のある 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><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 クライアントアプリケーションでは、レジストリーの URL 設定を変更し、既存の v1 API パスではなく新しい v2 パスを参照するようにする必要があります。以下に例を示します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Java クライアントの詳細は、Service Registry ユーザーガイド を参照してください。
Service Registry SerDes ライブラリーを使用している場合は、バージョン 2.x で再パッケージ化された Maven 依存関係を変更する必要があります。Service Registry 1.1 では、SerDes ライブラリーはすべて 1 つの 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 ライブラリーは、ユースケースに応じて、サポートされる各データ形式 (
avro、protobuf、およびjson schema) ごとに 3 つの Maven 依存関係に分割されました。Copy to Clipboard Copied! Toggle word wrap Toggle overflow Kafka プロデューサーおよびコンシューマーアプリケーションでは、レジストリーの URL 設定を変更し、既存の v1 API パスではなく新しい v2 パスを参照するようにする必要があります。以下に例を示します。
既存のレジストリー 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 新規のレジストリー 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 ユーザーガイド を参照してください。
付録A サブスクリプションの使用 リンクのコピーリンクがクリップボードにコピーされました!
Service Registry は、ソフトウェアサブスクリプションを通じて提供されます。サブスクリプションを管理するには、Red Hat カスタマーポータルでアカウントにアクセスします。
アカウントへのアクセス
- access.redhat.com に移動します。
- アカウントがない場合は作成します。
- アカウントにログインします。
サブスクリプションのアクティベート
- access.redhat.com に移動します。
- My Subscriptions に移動します。
- Activate a subscription に移動し、16 桁のアクティベーション番号を入力します。
ZIP および TAR ファイルのダウンロード
ZIP または TAR ファイルにアクセスするには、カスタマーポータルを使用して、ダウンロードする関連ファイルを検索します。RPM パッケージを使用している場合、この手順は必要ありません。
- ブラウザーを開き、access.redhat.com/downloads で Red Hat カスタマーポータルの Product Downloads ページにログインします。
- Integration and Automation カテゴリーで Red Hat Integration エントリーを見つけます。
- 必要な Service Registry 製品を選択します。Software Downloads ページが開きます。
- コンポーネントの Download リンクをクリックします。
改訂日時: 2024-03-23