6.7. Apicurio Registry イベントソーシングの設定
これは、テクノロジープレビューのみの機能です。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。
テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行いフィードバックを提供していただくことを目的としています。Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
Apicurio Registry は、変更がレジストリーに加えられたときにイベントを送信するように設定できます。たとえば、Apicurio Registry は、スキーマまたは API アーティファクト、グループ、コンテンツルールが作成、更新、削除されたときにイベントをトリガーできます。この種の変更については、アプリケーションやサードパーティーのインテグレーションにイベントを送信するように Apicurio Registry を設定できます。
イベントの転送に使用できるさまざまなプロトコルがあります。現在実装されているプロトコルは HTTP および Apache Kafka です。ただし、プロトコルに関係なく、イベントは CNCF CloudEvents 仕様を使用して送信されます。Java システムプロパティーまたは同等の環境変数を使用して、Apicurio Registry イベントソーシングを設定できます。
Apicurio Registry イベントタイプ
すべてのイベントタイプは、 io.apicurio.registry.events.dto.RegistryEventType
で定義されています。たとえば、これらには以下のイベントタイプが含まれます。
-
io.apicurio.registry.artifact-created
-
io.apicurio.registry.artifact-updated
-
io.apicurio.registry.artifact-state-changed
-
io.apicurio.registry.artifact-rule-created
-
io.apicurio.registry.global-rule-created
-
io.apicurio.registry.group-created
前提条件
- Apicurio Registry クラウドイベントの送信先となるアプリケーションが必要です。たとえば、カスタムアプリケーションやサードパーティーアプリケーションなどです。
HTTP を使用した Apicurio Registry イベントソーシングの設定
このセクションの例は、http://my-app-host:8888/events
で実行されているカスタムアプリケーションを示しています。
手順
HTTP プロトコルを使用する場合は、以下のようにイベントをアプリケーションに送信するように Apicurio Registry を設定します。
-
registry.events.sink.my-custom-consumer=http://my-app-host:8888/events
-
必要に応じて、複数のイベントコンシューマーを以下のように設定できます。
-
registry.events.sink.my-custom-consumer=http://my-app-host:8888/events
-
registry.events.sink.other-consumer=http://my-consumer.com/events
-
Apache Kafka を使用した Apicurio Registry イベントソーシングの設定
このセクションの例では、my-registry-events
という名前の Kafka トピックが my-kafka-host:9092
で動作していることを示します。
手順
Kafka プロトコルを使用する場合、以下のように Kafka トピックを設定します。
-
registry.events.kafka.topic=my-registry-events
-
KAFKA_BOOTSTRAP_SERVERS
環境変数を使用して、Kafka プロデューサーを設定できます。KAFKA_BOOTSTRAP_SERVERS=my-kafka-host:9092
または、
registry.events.kafka.config
接頭辞を使用して kafka プロデューサーのプロパティーを設定できます。例:registry.events.kafka.config.bootstrap.servers=my-kafka-host:9092
必要に応じて、イベントの生成に使用する Kafka トピックパーティションを設定することもできます。
-
registry.events.kafka.topic-partition=1
-