設(shè)計理念
- 保證不丟失消息(使用正確的配置且不是整個數(shù)據(jù)中心故障)
- 強(qiáng)順序性保證
- 可預(yù)測的讀寫延遲
Apache Pulsar選擇一致性而不是可用性就像BookKeeper和Zookeeper一樣运吓。Apache Pulsar盡一切努力保持一致性蔓倍。
關(guān)于多層抽象
Apache Pulsar在上層具有高級別的Topic(主題)和Subscription(訂閱)的概念贯被,在底層數(shù)據(jù)存儲在二進(jìn)制文件中暗膜,這些數(shù)據(jù)交叉分布在多個服務(wù)器上的多個Topic映挂。在其中包含很多的細(xì)節(jié)部分峦甩。本文對Pulsar進(jìn)行分層分析藏鹊。
如上圖皮假,pulsar官方提供的三層抽象圖將pulsar分為以下3部分:
- layer1:Topic、Subscription和Cursors
- layer2:邏輯存儲體系(邏輯存儲模型)衩椒、brokers和游標(biāo)追蹤
- layer3:bookie存儲體系(bookie存儲模型)蚌父、broker緩存