Pulsar 管理

1. Pulsar Admin 客户端

在 Pulsar 管理方面,Spring Boot 自动配置提供了管理 Pulsar 集群的方法。 管理实现一个名为 createOrModify 的接口,并提供一个 createOrModify 方法,以通过其 Contract 处理主题管理。PulsarAdministrationPulsarAdminOperationsspring-doc.cn

当您使用 Pulsar Spring Boot Starters时,您将获得自动配置。PulsarAdministrationspring-doc.cn

默认情况下,应用程序会尝试连接到 位于 的本地 Pulsar 实例。 这可以通过在表单中将属性设置为其他值来调整。http://localhost:8080spring.pulsar.admin.service-url(http|https)://<host>:<port>spring-doc.cn

有许多应用程序属性可用于配置客户端。 请参阅 spring.pulsar.admin.* 应用程序属性。spring-doc.cn

1.1. 身份验证

访问需要身份验证的 Pulsar 集群时,admin 客户端需要与常规 Pulsar 客户端相同的安全配置。 您可以通过将 .spring.pulsar.clientspring.pulsar.adminspring-doc.cn

2. 自动创建主题

在初始化时,检查应用程序上下文中是否有任何 bean。 对于所有这些 bean,要么创建相应的主题,要么在必要时修改分区的数量。PulsarAdministrationPulsarTopicPulsarAdministrationspring-doc.cn

以下示例显示了如何添加 bean 以允许自动为您创建主题:PulsarTopicPulsarAdministrationspring-doc.cn

@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 时,它是一个已注册的 Bean,它配置了域、租户和命名空间的默认值。 您只需在需要的地方注入构建器即可。 否则,请直接使用其中一个构造函数。PulsarTopicBuilderPulsarTopicBuilderspring-doc.cn