

计算存储分离的思想设计的架构,所以 Pulsar 整体架构要分为计算层和存储层两层。我们通常说的 Pulsar 是指计算层的 Broker 集群和存储层的 BookKeeper 集群两部分。
计算层包含 Producer、Broker、ZooKeeper、Consumer 四个组件,用来完成 MQ 相关的功能。存储层是独立的一个组件 BookKeeper,是一个专门用来存储日志数据的开源项目,它由 Bookies(Node)和 ZooKeeper 组成。
BookKeeper **本质上就是一个远程存储。**比如 Kafka 的计算层是 Broker,存储层是本地的硬盘空间,Broker 收到数据后,通过本地文件的写入调用,如 FileChannel,将数据写入到本地文件。Pulsar 的计算层是 Broker,存储层是远程的 BookKeeper 集群,Broker 收到数据后,通过 BookKeeper 的客户端 SDK 将数据写入到 BookKeeper 集群中。
