1.2.4 Function Worker
Function Worker 是 Pulsar 的流处理组件,它可以在消息被消费之前执行一
些函数,如过滤、聚合、转换等。Function Worker 可以部署在 Broker 上,也可
以独立部署,以提高系统的可扩展性和性能。
1.2.5 Pulsar Manager
Pulsar Manager 是一个 Web 界面,用于管理 Pulsar 集群。它提供了 Topic、
Subscription、Namespace 等的管理功能,可以方便地创建、删除、查看和修改
这些资源。Pulsar Manager 还提供了监控和报警功能,可以实时查看集群的状
态和性能。
1.3 Pulsar 消息模型理解
Pulsar 的消息模型主要包括 Topic、Subscription 和 Message。
� Topic:在 Pulsar 中,消息被发布到一个特定的 Topic 上,Topic 可
以理解为一个消息的分类或主题。一个 Topic 可以有多个 Partition,每个
Partition 都是一个独立的消息队列,可以被多个 Broker 实例处理,以提
高系统的吞吐量和可用性。
� Subscription:在 Pulsar 中,客户端可以通过创建一个 Subscription
来订阅一个 Topic,Subscription 可以理解为一个消息的订阅者。一个
Subscription 可以有多个 Consumer,每个 Consumer 都是一个独立的消息
消费者,可以并行地消费消息。
� Message:在 Pulsar 中,消息是一个二进制的数据包,可以包含
任意类型的数据。消息可以被持久化存储在 BookKeeper 上,以防止
Broker 的故障导致消息丢失。消息还可以被压缩和加密,以提高系统的
性能和安全性。
1.3.1 示例:创建 Topic 和 Subscription
以下是一个使用 Java 客户端创建 Topic 和 Subscription 的示例:
import org.apache.pulsar.client.api.*;
public class PulsarExample {
public static void main(String[] args) throws PulsarClientException {
//
创建
Pulsar
客户端
PulsarClient client = PulsarClient.builder()
.serviceUrl("pulsar://localhost:6650")
.build();
//
创建
Topic
client.newTopic().topic("persistent://public/default/my-topic").create();
//
创建
Subscription