Pulsar 管理
目录
1. Pulsar 管理客户端
在 Pulsar 管理端,Spring Boot 自动配置提供了一个 PulsarAdministration
来管理 Pulsar 集群。该管理实现了一个名为 PulsarAdminOperations
的接口,并提供了 一个 createOrModify 方法 来通过其契约处理主题管理。
当你使用 Pulsar Spring Boot 启动器时,你会获得自动配置的 PulsarAdministration
。
默认情况下,应用程序尝试连接到本地的 Pulsar 实例,地址为 http://localhost:8080
。可以通过将 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
beans,以便让 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();
}
在使用 Spring Boot 时,PulsarTopicBuilder
是一个注册的 bean,默认配置了域、租户和命名空间的默认值。您可以在需要的地方简单地注入构建器。否则,可以直接使用 PulsarTopicBuilder
的构造函数之一。