6.6. Apicurio Registry イベントソーシングの設定
Apicurio Registry は、変更がレジストリーに加えられたときにイベントを送信するように設定できます。たとえば、Apicurio Registry は、スキーマおよび API アーティファクトが作成、更新、削除された場合などにイベントをトリガーできます。このように、イベントをアプリケーションおよびサードパーティーのインテグレーションに送信するように Apicurio Registry を設定できます。
イベントの転送に使用できるさまざまなプロトコルがあります。現在実装されているプロトコルは HTTP および Apache Kafka です。ただし、プロトコルに関係なく、イベントは CNCF CloudEvents 仕様を使用して送信されます。
すべてのイベントタイプは、 io.apicurio.registry.events.dto.RegistryEventType で定義されています。たとえば、イベントタイプには次のものがあります。
-
io.apicurio.registry.artifact-created -
io.apicurio.registry.artifact-updated -
io.apicurio.registry.artifact-rule-created -
io.apicurio.registry.global-rule-created
Java システムプロパティーまたは同等の環境変数を使用して、Apicurio Registry でクラウドイベントを設定できます。
前提条件
- 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
-
関連情報
- 詳細は、CNCF CloudEvents 仕様 を参照してください。