Pulsar 管理
1. Pulsar 管理クライアント
Pulsar 管理側では、Spring Boot 自動構成により、Pulsar クラスターを管理するための PulsarAdministration
が提供されます。管理者は PulsarAdminOperations
と呼ばれるインターフェースを実装し、契約を通じてトピック管理を処理する createOrModify
方式 (Javadoc) を提供します。
Pulsar Spring Boot スターターを使用すると、PulsarAdministration
が自動構成されます。
デフォルトでは、アプリケーションは http://localhost:8080
にあるローカル Pulsar インスタンスへの接続を試行します。これは、spring.pulsar.admin.service-url
プロパティを (http|https)://<host>:<port>
の形式で別の値に設定することで調整できます。
クライアントの構成に使用できるアプリケーションプロパティが多数あります。spring.pulsar.admin.*
(英語) アプリケーションのプロパティを参照してください。
1.1. 認証
認証が必要な Pulsar クラスターにアクセスする場合、管理クライアントには通常の Pulsar クライアントと同じセキュリティ構成が必要です。spring.pulsar.client
を spring.pulsar.admin
に置き換えることで、前述のセキュリティ構成を使用できます。
2. トピックの自動作成
初期化時に、PulsarAdministration
はアプリケーションコンテキストに PulsarTopic
Bean があるかどうかを確認します。このようなすべての Bean に対して、PulsarAdministration
は対応するトピックを作成するか、必要に応じてパーティションの数を変更します。
次の例は、PulsarTopic
Bean を追加して、PulsarAdministration
にトピックを自動作成させる方法を示しています。
@Bean
PulsarTopic simpleTopic(PulsarTopicBuilder topicBuilder) {
// This will create a non-partitioned persistent topic in the 'public/default' tenant/namespace
return topicBuilder.name("my-topic").build();
}
@Bean
PulsarTopic partitionedTopic(PulsarTopicBuilder topicBuilder) {
// This will create a persistent topic with 3 partitions in the provided tenant and namespace
return topicBuilder
.name("persistent://my-tenant/my-namespace/partitioned-topic")
.numberOfPartitions(3)
.build();
}
When using Spring Boot the |