设计理念
- 保证不丢失消息(使用正确的配置且不是整个数据中心故障)
- 强顺序性保证
- 可预测的读写延迟
Apache Pulsar选择一致性而不是可用性就像BookKeeper和Zookeeper一样。Apache Pulsar尽一切努力保持一致性。
关于多层抽象
Apache Pulsar在上层具有高级别的Topic(主题)和Subscription(订阅)的概念,在底层数据存储在二进制文件中,这些数据交叉分布在多个服务器上的多个Topic。在其中包含很多的细节部分。本文对Pulsar进行分层分析。
如上图,pulsar官方提供的三层抽象图将pulsar分为以下3部分:
- layer1:Topic、Subscription和Cursors
- layer2:逻辑存储体系(逻辑存储模型)、brokers和游标追踪
- layer3:bookie存储体系(bookie存储模型)、broker缓存