带你迅速理解,下⼀代云原生分布式消息流平台Pulsar到底是什么?

简介: 有位粉丝私信我说,说想让我拍一期Pulsar的视频,那今天满足一下这位粉丝要求,谈一谈我对Pulsar的理解。

【Java面试】用三钟带你轻松搞懂高频面试题,谈谈你对Pulsar的理解?


有位粉丝私信我说,说想让我拍一期Pulsar的视频,那今天满足一下这位粉丝要求,谈一谈我对Pulsar的理解。

1 Pulsar特性总结

Pulsar作为下一代云原生分布式消息流平台,它集消息、存储、轻量化函数式计算为一体。

458b3a1803fd3eb718045ed0d89b9047.png

最初在 Yahoo 内部开发和部署,支持过Yahoo 应用服务平台 140 万个主题,日处理超过 1000 亿条消息。  Pulsar 于 2016 年由 Yahoo 开源并捐赠给 Apache进行孵化,2018 年成为 Apache 顶级项目。

2 Pulsar特性总结

下面,我给大家总结一下Pulsar有以下九大非常重要的特性:


1 云原生架构


Pulsar采用计算与存储分离的云原生架构,数据从 Broker 搬离,存在共享存储内部。上层是无状态 Broker,复制消息分发和服务;下层是持久化的存储Bookie 集群。Pulsar 存储是分片的,这种构架可以避免扩容时受限制,实现数据的独立扩展和快速恢复。

a42905d32560d13bb58beb79206f57a4.png

2、跨区域大集群


所谓大集群就是跨机房、跨地域的集群,使得Pulsar的分布式能力不局限于某个机房。

223521315048ed615f8ce6387934da63.png

3、多租户模式


Pulsar是一个多租户系统,租户可以跨集群分布,每个租户都可以有单独的认证和授权机制。租户也是存储配额、消息 TTL 和隔离策略的管理单元。

e65c42b4994e56e2bd510099db74b085.png

4、统一的存储模型

02d6342f82d0449e95d998bcaa568f84.png

如图所示,Pulsar提供了统一的消息存储模型,支持对主流的消息中间件的兼容和接入。

5、统一的消费模型

Pulsar提供统一的消费模型,一共支持四种消费模式,分别是独占模式(Exclusive)、灾备模式(Failover)、共享订阅(Shared)、键共享订阅(Key_Shared)

cd435d8eb9b049d4ae981e8d13fbcd9e.png

1)独占模式(Exclusive):同一个Topic只能有一个消费者订阅,如果多个消费者订阅,就会出错。 Exclusive模式为默认订阅模式。


2)灾备模式(Failover):同一个Topic可以有多个消费者订阅,但是只能有一个消费者消费,其他订阅的消费者作为故障转移的消费者,只有当前消费者出了故障才可以进行消费当前的Topic。


3)共享订阅(Shared):同一个Topic可以由多个消费者订阅和消费。消息通过Round Robin轮询机制分发给不同的消费者,并且每个消息仅会被分发给一个消费者。当消费者断开,发送给它的没有被消费 的消息还会被重新分发给其它存活的消费者


4)键共享订阅(Key_Shared):消息和消费者都会绑定一个Key,消息只会发送给绑定同一个Key的消费者。如果有新消费者建立连接或者有消费者断开连接,就需要更新一些消息的Key。

6、Segmented Streams分片流

image.png

Pulsar 将无界的数据看作是分片的流,分片分散存储在分层存储(Tiered Storage)、BookKeeper 集群和 Broker节点上,而对外提供一个统一的、无界数据的视图

7、跨地域复制

c44a1a11fc81cd62184b1dbc19ddbc77.png

Pulsar 中的跨地域复制是将 Pulsar 中持久化的消息在多个集群间备份。在 Pulsar 2.4.0 中新增了复制订阅模式(Replicated-Subscriptions),在某个集群失效情况下,这个功能可以在其他集群恢复消费者的消费状态,从而达到热备模式下消息服务的高可用。

8、Pulsar IO连接器

00d176f842784008a483680e9ba62641.png

目前 Pulsar IO 支持非常多数据流的连接集成操作: 例如HDFS 、Spark、Flink 、Flume 、ES 、HBase、MySQL、Redis、MongoDB、Kafka、RocketMQ、Rabbit、ActiveMQ、Netty等等等等

9、Funcations轻量级计算框架

10dc38647f2e40f2b1e14ac2893bf029.png

Pulsar可以给用户提供一个部署简单、运维简单、API 简单的 FASS(Function as a service)平台。对复杂的大数据处理框架的有力补充。


好了,以上就是我对Pulsar的理解。当然,大部程序员可能还不一定用的上Pulsar,今天的分享就权当给大家做科普了。


我是被编程耽误的文艺Tom,关注我,面试不再难!

相关文章
|
1月前
|
存储 监控 固态存储
【vSAN分布式存储服务器数据恢复】VMware vSphere vSAN 分布式存储虚拟化平台VMDK文件1KB问题数据恢复案例
在一例vSAN分布式存储故障中,因替换故障闪存盘后磁盘组失效,一台采用RAID0策略且未使用置备的虚拟机VMDK文件受损,仅余1KB大小。经分析发现,该VMDK文件与内部虚拟对象关联失效导致。恢复方案包括定位虚拟对象及组件的具体物理位置,解析分配空间,并手动重组RAID0结构以恢复数据。此案例强调了深入理解vSAN分布式存储机制的重要性,以及定制化数据恢复方案的有效性。
57 5
|
2月前
|
机器学习/深度学习 人工智能 Shell
人工智能平台PAI操作报错合集之在分布式训练过程中遇到报错,是什么原因
阿里云人工智能平台PAI是一个功能强大、易于使用的AI开发平台,旨在降低AI开发门槛,加速创新,助力企业和开发者高效构建、部署和管理人工智能应用。其中包含了一系列相互协同的产品与服务,共同构成一个完整的人工智能开发与应用生态系统。以下是对PAI产品使用合集的概述,涵盖数据处理、模型开发、训练加速、模型部署及管理等多个环节。
|
15天前
|
Kubernetes 监控 Cloud Native
Cluster Optimizer:一款云原生集群优化平台
**Cluster Optimizer** 是一款云原生集群优化平台,旨在通过自动化和智能化工具帮助企业降低云成本,解决云原生架构中的成本管理难题。面对资源闲置、配置不当和缺乏自动化优化机制等挑战,Cluster Optimizer能够深入分析云资源、应用和用户行为,精准识别优化机会,并给出具体建议,涵盖节点组、节点、GPU 节点、磁盘、持久卷和应用等多个维度。通过优化实例类型、自动扩缩容和资源分配,帮助企业降低成本、提升性能和效率。[点击此处](https://www.wiseinf.com.cn/docs/setup/) 免费安装和试用 **Cluster Optimizer 社区版**。
75 9
|
25天前
|
数据库 C++ Ruby
为什么你应该选择分布式平台与微服务?
为什么你应该选择分布式平台与微服务?
|
29天前
|
存储 边缘计算 Kubernetes
边缘计算问题之边缘计算平台建设中业务应用践行云原生体系如何解决
边缘计算问题之边缘计算平台建设中业务应用践行云原生体系如何解决
44 1
|
1月前
|
消息中间件 Java Kafka
"Kafka快速上手:从环境搭建到Java Producer与Consumer实战,轻松掌握分布式流处理平台"
【8月更文挑战第10天】Apache Kafka作为分布式流处理平台的领头羊,凭借其高吞吐量、可扩展性和容错性,在大数据处理、实时日志收集及消息队列领域表现卓越。初学者需掌握Kafka基本概念与操作。Kafka的核心组件包括Producer(生产者)、Broker(服务器)和Consumer(消费者)。Producer发送消息到Topic,Broker负责存储与转发,Consumer则读取这些消息。首先确保已安装Java和Kafka,并启动服务。接着可通过命令行创建Topic,并使用提供的Java API实现Producer发送消息和Consumer读取消息的功能。
54 8
|
2月前
|
存储 缓存 分布式计算
高并发架构设计三大利器:缓存、限流和降级问题之缓存的应对策略问题如何解决
高并发架构设计三大利器:缓存、限流和降级问题之缓存的应对策略问题如何解决
|
2月前
|
人工智能 运维 Cloud Native
|
3月前
|
机器学习/深度学习 人工智能 自然语言处理
人工智能平台PAI产品使用合集之如何配置cluster系统自动生成分布式参数
阿里云人工智能平台PAI是一个功能强大、易于使用的AI开发平台,旨在降低AI开发门槛,加速创新,助力企业和开发者高效构建、部署和管理人工智能应用。其中包含了一系列相互协同的产品与服务,共同构成一个完整的人工智能开发与应用生态系统。以下是对PAI产品使用合集的概述,涵盖数据处理、模型开发、训练加速、模型部署及管理等多个环节。