从官方的架构图中可以看出 Pulsar 主要有以下组件组成:
Broker 无状态组件,可以水平扩展,主要用于生产者、消费者连接;与 Kafka 的 broker 类似,但没有数据存储功能,因此扩展更加轻松。
BookKeeper 集群:主要用于数据的持久化存储。
Zookeeper 用于存储 broker 与 BookKeeper 的元数据。
整体一看似乎比 Kafka 所依赖的组件还多,这样确实会提供系统的复杂性;但同样的好处也很明显。
Pulsar 的存储于计算是分离的,当需要扩容时会非常简单,直接新增 broker 即可,没有其他的心智负担。
当存储成为瓶颈时也只需要扩容 BookKeeper,不需要人为的做重平衡,BookKeeper 会自动负载。
同样的操作,Kafka 就要复杂的多了。
大型站长资讯类网站! https://www.0739zz.cn