第1章 Service Registry の概要
この章では、Service Registry の概念および機能を紹介し、レジストリーに保存されるサポート対象のアーティファクトタイプの詳細を提供します。
- 「Service Registry とは」
- 「Service Registry のスキーマと API アーティファクト」
- 「Service Registry Web コンソールを使用したコンテンツの管理」
- 「クライアント用の Service Registry REST API」
- 「Service Registry ストレージのオプション」
- 「スキーマと Java クライアントシリアライザー/デシリアライザーを使用した Kafka メッセージの検証」
- 「Kafka Connect コンバーターを使用した外部システムへのデータのストリーミング」
- 「Service Registry デモ例」
- 「Service Registry で利用可能なディストリビューション」
1.1. Service Registry とは
Service Registry は、イベント駆動型および API のアーキテクチャー全体で標準的なイベントスキーマおよび API 設計を共有するためのデータストアです。Service Registry を使用して、クライアントアプリケーションからデータの構造を切り離し、REST インターフェイスを使用して実行時にデータ型と API の記述を共有および管理できます。
クライアントアプリケーションは、再デプロイする必要なく、実行時に Service Registry との間で最新のスキーマ更新を動的にプッシュまたはプルできます。開発者チームは、Service Registry に対して、すでに運用環境にデプロイされているサービスに必要な既存のスキーマをクエリーしたり、開発中の新しいサービスに必要な新しいスキーマを登録したりできます。
クライアントアプリケーションコードで Service Registry の URL を指定することにより、クライアントアプリケーションが Service Registry に保存されているスキーマと API 設計を使用できるようにすることができます。Service Registry は、メッセージのシリアル化と逆シリアル化に使用されるスキーマを保存できます。これらのスキーマはクライアントアプリケーションから参照され、クライアントアプリケーションが送受信するメッセージがそれらのスキーマと互換性があることを確認します。
Service Registry を使用して、アプリケーションからデータ構造を切り離し、メッセージ全体のサイズを減らすことでコストを削減し、組織内のスキーマおよび API 設計の一貫性を高めて効率化します。Service Registry は、開発者および管理者がレジストリーコンテンツの管理を簡単に行えるように Web コンソールを提供します。
オプションのルールを設定して、Service Registry コンテンツの進化を管理できます。これらには、アップロードされたコンテンツが有効であること、または他のバージョンと互換性があることを確認するためのルールが含まれます。新しいバージョンを Service Registry にアップロードする前に、設定されたすべてのルールはパスする必要があります。これにより、無効または互換性のないスキーマまたは API 設計に時間が費やされることはありません。
Service Registry は、Apicurio Registry オープンソースコミュニティープロジェクトに基づいています。詳細は https://github.com/apicurio/apicurio-registry を参照してください。
Service Registry の機能
- Apache Avro、JSON スキーマ、Google Protobuf、AsyncAPI、OpenAPI などの標準イベントスキーマおよび API 仕様の複数のペイロード形式。
- AMQ Streams または PostgreSQL データベースのプラグイン可能な Service Registry ストレージオプション。
- Service Registry のコンテンツが時間の経過とともにどのように進化するかを管理するための、コンテンツの検証、互換性、整合性に関するルール。
- Web コンソール、REST API、コマンドライン、Maven プラグイン、または Java クライアントを使用した Service Registry コンテンツ管理。
- 外部システム用の Kafka Connect との統合を含む、完全な Apache Kafka スキーマレジストリーサポート。
- 実行時にメッセージタイプを検証する Kafka クライアントシリアライザー/デシリアライザー (SerDes)。
- 既存の Confluent スキーマレジストリークライアントアプリケーションとの互換性。
- メモリーフットプリントが低く、デプロイメントの時間が高速化されるクラウドネイティブ Quarkus Java ランタイム
- OpenShift での Service Registry の Operator ベースのインストール。
- Red Hat Single Sign-On を使用した OpenID Connect (OIDC) 認証