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 {
	// This will create a non-partitioned topic in the public/default namespace
	return PulsarTopic.builder("simple-topic").build();
}

@Bean
PulsarTopic partitionedTopic {
	// This will create a partitioned topic with 3 partitions in the provided tenant and namespace
	return PulsarTopic.builder("persistent://my-tenant/my-namespace/partitioned-topic", 3).build();
}