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 で実行されているカスタムアプリケーションを示しています。

手順

  1. HTTP プロトコルを使用する場合は、以下のようにイベントをアプリケーションに送信するように Apicurio Registry を設定します。

    • registry.events.sink.my-custom-consumer=http://my-app-host:8888/events
  2. 必要に応じて、複数のイベントコンシューマーを以下のように設定できます。

    • 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 で動作していることを示します。

手順

  1. Kafka プロトコルを使用する場合、以下のように Kafka トピックを設定します。

    • registry.events.kafka.topic=my-registry-events
  2. 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

  3. 必要に応じて、イベントの生成に使用する Kafka トピックパーティションを設定することもできます。

    • registry.events.kafka.topic-partition=1

関連情報