[Recap] CSDI | Apache Pulsar: 云原生消息系统简介_队列

阅读本文需要约 5 分钟。

2019 年 7 月 21 日,StreamNative 的 CEO 郭斯杰受邀参加 CSDI summit 分享,发表“Apache Pulsar: 云原生消息系统简介”主题演讲。本篇为演讲内容导航,干货满满,欢迎查看!

郭斯杰

Apache Pulsar 和 Apache BookKeeper PMC 成员

StreamNative 联合创始人

什么是 Apache Pulsar

Apache Pulsar 是灵活的发布-订阅消息系统(Flexible Pub/Sub messaging),采用分层分片架构(backed by durable log/stream storage)。

发布-订阅消息系统

郭斯杰先解释了发布-订阅模型的概念,从多租户、灵活的消息系统、云构架等方面着重介绍了 Apache Pulsar 的功能和特性。

多租户

租户和命名空间(namespace)是 Pulsar 支持多租户的两个核心概念。

  • 在租户级别,Pulsar 为特定的租户预留合适的存储空间、应用授权与认证机制。

  • 在命名空间级别,Pulsar 有一系列的配置策略(policy),包括存储配额、流控、消息过期策略和命名空间之间的隔离策略。

灵活的消息系统

Pulsar 做了队列模型和流模型的统一,在 Topic 级别只需保存一份数据,同一份数据可多次消费。以流式、队列等方式计算不同的订阅模型大大提升了灵活度。郭斯杰还介绍了智联招聘的用户案例,展现了 Pulsar 消息系统在使用上的灵活。

云原生架构

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

此外,还介绍了 Pulsar 的分片存储模型和 Kafka 的物理分区存储模型在 Write、Tailing read、Catchup read 和 IO 隔离场景的区别。

跨地域复制

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

Event Streaming

层级存储

郭斯杰介绍了层级存储的优势:

  • Infinite Stream: 以流的方式永久保存原始数据

  • 分区的容量不再受限

  • 充分利⽤云存储或者现有的廉价存储 ( 例如,HDFS)

  • 数据统⼀表征:客户端无需关⼼数据究竟存储在哪⾥

A Pulsar view on data

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

下图是分片模型:

[Recap] CSDI | Apache Pulsar: 云原生消息系统简介_分布式_02

Pulsar 与大数据处理框架的集成

批处理是对有界的数据进行处理,通常数据以文件的形式存储在 HDFS 等分布式文件系统中。流处理将数据看作是源源不断的流,流处理系统以发布/订阅方式消费流数据。当前的大数据处理框架,例如 Spark、Flink 在 API 层和执行层正在逐步融合批、流作业的提交与执行,而 Pulsar 由于可以存储无限的流数据,是极佳的统一数据存储平台。郭斯杰介绍了 Pulsar 与 Flink 和 Spark 的集成状态,并对未来批流融合的处理存储系统进行了展望。

Pulsar Functions 及其他工具

Pulsar Functions 是一个轻量级的计算框架,可以给用户提供一个部署简单、运维简单、API 简单的 FASS(Function as a service)平台。Pulsar Functions 提供基于事件的服务,支持有状态与无状态的多语言计算,是对复杂的大数据处理框架的有力补充。

如下图所示,郭斯杰介绍了Pulsar IO、Pulsar CDC等。

[Recap] CSDI | Apache Pulsar: 云原生消息系统简介_大数据_03

用户案例

郭斯杰还介绍了 Apache Pulsar 的用户案例,以下是详细信息:

  • 个推基于 Apache Pulsar 的优先级队列方案

  • Apache Pulsar在智联招聘的实践 -- 从消息队列到基于Apache Pulsar的事件中心

  • Apache Pulsar 在腾讯计费场景下的应用

  • 雅虎日本如何用 Pulsar 构建日均千亿的消息平台

  • Apache Pulsar 在 EMQ 物联网平台产品 ActorCloud 上的应用

本次演讲视频,参阅

点击边框调出视频工具条

 

 

作者 | Irene

审校 | Yijie + Anonymitaet

编辑 | Irene

更多关于 Pulsar 的技术干货和产品动态,请关注 ApachePulsar 微信公众号。