The English version of quarkus.io is the official project site. Translated sites are community supported on a best-effort basis.

Dev Services for Apicurio Registry

quarkus-apicurio-registry-avroquarkus-confluent-registry-avro のようなスキーマレジストリのエクステンションが存在する場合、Dev Services for Apicurio Registryは、開発モードやテスト実行時に自動的にApicurio Registryインスタンスを起動します。また、SmallRye Reactive MessagingのすべてのKafkaチャンネルは、このレジストリを使用するように自動的に設定されます。これらのプロパティが設定されているので、この自動設定は、Apicurio Registry serde ライブラリおよび Confluent Schema Registry serde ライブラリのシリアライザーおよびデシリアライザーにのみ適用されます。

# for Apicurio Registry serde
mp.messaging.connector.smallrye-kafka.apicurio.registry.url=http://localhost:8081/apis/registry/v2
# for Confluent Schema Registry serde
mp.messaging.connector.smallrye-kafka.schema.registry.url=http://localhost:8081/apis/ccompat/v6

Dev Services for Apicurio Registryの有効化/無効化

Dev Services for Apicurio Registryは以下に当てはまらない場合、自動的に有効になります。

  • quarkus.apicurio-registry.devservices.enabledfalse に設定されていること

  • mp.messaging.connector.smallrye-kafka.apicurio.registry.url が設定されていること

  • mp.messaging.connector.smallrye-kafka.schema.registry.url が設定されていること

  • すべてのReactive Messaging Kafkaチャンネルには apicurio.registry.url 属性か、schema.registry.url 属性が設定されています

Dev Services for Apicurio Registryは、レジストリの起動にDockerを使用しています。お使いの環境がDockerをサポートしていない場合は、レジストリを手動で起動するか、すでに稼働しているレジストリを使用する必要があります。そのような場合、単一のプロパティを使用して、SmallRye Reactive Messaging のすべての Kafka チャネルのレジストリ URL を構成できます。 Apicurio Registry serde の場合は以下です。

mp.messaging.connector.smallrye-kafka.apicurio.registry.url=... your Apicurio Registry URL...

Confluent Schema Registry serdeについては、以下です。

mp.messaging.connector.smallrye-kafka.schema.registry.url=... your Confluent Schema Registry URL...

共有レジストリ

ほとんどの場合、アプリケーション間でレジストリを共有する必要があります。Dev Services for Apicurio Registryは、 開発 モードで動作する複数のQuarkusアプリケーションが1つのレジストリを共有するための サービスディスカバリ メカニズムを実装しています。

Dev Services for Apicurio Registryは、コンテナを識別するために使用される quarkus-dev-service-apicurio-registry ラベル付でコンテナを起動します。

複数の(共有)レジストリが必要な場合は、 quarkus.apicurio-registry.devservices.service-name 属性を設定し、レジストリ名を示すことができます。同じ値のコンテナを探し、見つからない場合は新しいコンテナを開始します。デフォルトのサービス名は apicurio-registry です。

共有は、開発モードではデフォルトで有効ですが、testモードでは無効です。 quarkus.apicurio-registry.devservices.shared=false で共有を無効にすることが可能です。

ポートの設定

既定では、Dev Services for Apicurio Registryはランダムなポートを選択してアプリケーションを設定します。 quarkus.apicurio-registry.devservices.port プロパティを設定することで、ポートを設定できます。

SmallRye Reactive messaging のKafkaチャンネルは、選択したポートで自動的に設定されることに注意してください。

イメージの設定

Dev Services for Apicurio Registryは、 apicurio/apicurio-registry-mem のイメージを使用しています。 https://hub.docker.com/r/apicurio/apicurio-registry-mem から任意の 2.x バージョンを選択することができます。

quarkus.apicurio-registry.devservices.image-name=apicurio/apicurio-registry-mem:latest-snapshot

関連コンテンツ