分布式@架构师

Apache Pulsar[3] 概念进阶

2020-06-29  本文已影响0人  QuinnSun

订阅模型

Pulsar提供了灵活的消息模型,支持三种订阅类型:

分区

为了解决吞吐等问题,Pulsar和Kafka一样,采用了分区(Partition)的机制。


image.png

Pulsar提供了一些策略来处理消息到Partition的路由(MessageRouter):

持久化

Pulsar通过BookKeeper来存储消息,保证消息不会丢失


image.png

Pulsar采用“存储和服务分离”的两层架构(这是Pulsar区别于其他MQ系统最重要的一点,也是所谓的“下一代消息系统”的核心):

Broker:提供发布和订阅的服务(Pulsar的组件)
Bookie:提供存储能力(BookKeeper的存储组件)
通过两层架构使broker变成无状态,可以水平扩容。高可靠和一致性通过bookkeeper保证。

数据复制

image.png

GEO-REPLICATION(地理复制)

多个Broker节点组成一个Pulsar Cluster;多个Pulsar Cluster组成一个Pulsar Instance。
Pulsar通过GEO-REPLICATION支持一个Instance内在不同的地域发送和消费消息。


image.png

在这个图中,每当 P1、P2 和 P3 的生产者分别向Cluster-A、Cluster-B和Cluster-C 中的T1 topic发送消息时,这些消息很快在不同的集群中复制,C1,C2可以在自己的集群内消费到所有的数据。

上一篇下一篇

猜你喜欢

热点阅读