Pulsar 初探
Pulsar 初探
简介
最近经常看到 Pulsar 相关的文章,所以初步了解了一下 Pulsar 项目。
相较于 Kafka 来说,Pulsar 主要做了以下两件事来更好的提供服务:
- 云原生(方便扩容缩容)
- 使用 Bookkeeper 存储数据
与 Kafka 类似 Pulsar 目前也使用了 ZooKeeper 存储元数据,大致结构如下图所示。
在 Pulsar 集群中大致分为以下三个部分:
- 一个或多个
broker
负载平衡和处理来自生产者的传入消息,向消费者分发消息,与 Pulsar 配置存储通信以处理各种协调任务,将消息存储在 BookKeeper 实例(又名 bookies)中,在某些情况下依赖于特定于集群的 ZooKeeper 集群任务等等。 - 一个或多个 bookie 组成的 BookKeeper 集群处理消息的持久存储。
- 特定于该集群的 ZooKeeper 集群处理 Pulsar 集群之间的协调任务。
如下图所示:
初步使用
新建 docker-compose.yaml
文件然后填入如下内容:
1 |
|
安装客户端库
1 |
|
编写消费者
1 |
|
编写生产者
1 |
|
参考资料
https://www.bilibili.com/video/BV1tV41127PD?from=search&seid=14981968776096759677
Pulsar 初探
https://wangqian0306.github.io/2020/pulsar/