一、架构概述
【1】Pulsar租户架构图
【2】Pulsar集群架构
【3】Pulsar关系概念图
【4】Pulsar订阅模式图
二、订阅模式介绍
【1】四种订阅模式
【2】Producer
【3】Consumer
【4】Topic
【5】多Topic订阅
【6】数据分区
【7】路由模式
【8】消息存留、过期、去重
三、对比Kafka
四、Bug修改 :端口号冲突
具 体 内 容
一、Pulsar框架介绍
Pulsar 是一个用于服务器到服务器的消息系统,具有多租户、高性能等优势,最初由 Yahoo 开发,目前由 Apache 软件基金会管理。
- 跨地域复制(geo-replication),单个实例原生支持多个集群(跨集群复制);
- 支持多种topic订阅模式:独占订阅、共享订阅、故障转移订阅、键共享;
- 通过Apache BookKeeper提供的持久化消息存储机制保证消息传递;
【1】Pulsar关系架构图:
-
property/tenant:一个property代表一个租户,一个property可包含多个namesapce;假设部署了一个Pulsar集群来支持多个应用程序,在企业中每个property都可以代表一个团队,一个核心的功能,或者一个产品线;
-
namespace:是Pulsar的基本管理单元,在namaspace级别可设置权限permission,备份fine-tune,跨集群管理消息数据的地理复制geo-replication、消息TTL等;一个namaspace里的所有topic都继承相同的设置;
-
topic:一种通道,用作从producer到consumer传输消息:持久(默认,硬盘)和非持久(仅内存);
【2】Pulsar集群架构及术语
Pulsar Cluster~= Broker 集群 + Bookkeeper +ZooKeeper
集群间可以通过跨地域复制(Geo-Replic