Apache Pulsar 简介
Apache Pulsar 是一个新一代云原生统一消息流平台,拥有 10K+ Github Stars 和 500+ Contributors,每月活跃贡献者超过 70 人。主要用户包括企业级和金融级客户,提供高吞吐、低延迟、多租户、多协议、认证体系等基础能力。
Apache Pulsar 架构详解
Apache Pulsar 采用存储分离架构,将计算层和存储层分离,实现节点对等、独立扩展、灵活扩容和快速容错。计算层负责消息体的解析封装和分发,存储层负责消息体的多副本写入和存储。Topic 分区均衡到不同 Broker,Segment 作为多副本写入的最小单位,读写 IO 物理分离,保证高写入性能。
性能对比
- 吞吐量:Pulsar 是 Kafka 的 2.5 倍
- 消息发送延迟:Pulsar 比 Kafka 低 100 倍
- 追赶读:Pulsar 历史读取速率比 Kafka 快 2.5 倍
实时数仓解决方案
数仓架构演进
数仓架构从 Lambda 架构发展到 Kappa 架构,但仍面临运维成本高、开发成本高、数据一致性等问题。实时数仓需要解决数据集成流批一体、存储层流批一体、ETL 逻辑流批一体、ETL 计算引擎流批一体等挑战。
实时数仓对消息队列的要求
实时数仓对消息队列的要求包括高吞吐、低延迟、企业级多租户、多协议、认证体系、统一消费模型、金融级高一致、高可靠、跨地域复制等。
Apache Pulsar 的存储能力
- 支持批数据和流数据处理接口
- 支持二级存储对接,实现归档存储、冷热分离、行列存储转换
- 内置 Schema 注册,支持 Topic 级别消息验证、消息版本更新
Apache Pulsar 的生态能力
基于 Pulsar 和 Flink 构建实时数仓,方案优势明显。
案例与生态
BIGO 借助 Flink 与 Pulsar 打造实时流平台
BIGO 利用 Flink 和 Pulsar 构建实时流平台,实现高效的数据处理和分析。
未来 Pulsar 实时数仓生态
- 微信公众号: ApachePulsar / StreamNative
- B站:https://space.bilibili.com/391380821
- 邮件列表:dev@pulsar.apache.org / users@pulsar.apache.org
- Slack:https://apache-pulsar.slack.com (#china)
- 注册:https://apache-pulsar.herokuapp.com/
- Github:https://github.com/apache/pulsar / https://github.com/apache/bookkeeper / https://github.com/streamnative