关于 Apache Pulsar
Apache Pulsar 是 Apache 软件基金会顶级项目,是下一代云原生分布式消息流平台,集消息、存储、轻量化函数式计算为一体,采用计算与存储分离架构设计,支持多租户、持久化存储、多机房跨区域数据复制,具有强一致性、高吞吐、低延时及高可扩展性等流数据存储特性。
GitHub 地址:http://github.com/apache/pulsar/
相比于 Kafka 等数据处理中间件,分布式消息平台 Apache Pulsar 如何存储数据?本文基于架构,对比了 Apache Kafka 等传统数据处理中间件和分布式消息平台 Apache Pulsar 的优劣势,供大家参考。
存储可扩展
Apache Pulsar 的多层架构将消息服务层与存储层完全解耦,从而使各层可以独立扩展。传统的分布式数据处理中间件(如 Hadoop、Spark)则在同一集群节点/实例上处理和存储数据。这种设计可以降低通过网络进行传输的数据量,使得架构更简洁,性能也有所提升,但同时扩展性、弹性、运维受到了影响。
Pulsar 的分层架构在云原生解决方案中独树一帜。如今,大幅提升的网络带宽为此架构提供了坚实基础,有利于计算和存储的分离。Pulsar 的架构将服务层与存储层解耦:无状态 broker 节点负责数据服务;bookie 节点负责数据存储(如图 1)。
图 1. 服务层与存储层解耦
服务层与存储层解耦的架构