思否开源项目推介丨Apache Pulsar:下一代云原生分布式消息流平台

Apache Pulsar

开源项目名称:Apache Pulsar
开源项目简介:下一代云原生分布式消息流平台
开源项目类型:Apache 软件基金会顶级项目
项目创建时间:2018 年 9 月 25 日从 Apache 软件基金会正式毕业,成为顶级项目
GitHub 数据:6.6K Star,1.6K Fork
GitHub地址: https://github.com/apache/pulsar

项目介绍

Apache Pulsar 是 Apache 软件基金会顶级项目,是下一代云原生分布式消息流平台,集消息、存储、轻量化函数式计算为一体。该系统源于 Yahoo,最初在 Yahoo 内部开发和部署,支持 Yahoo 应用服务平台 140 万个主题,日处理超过 1000 亿条消息。

Pulsar 于 2016 年由 Yahoo 开源并捐赠给 Apache 软件基金会进行孵化,2018 年成为 Apache 软件基金会顶级项目。Apache Pulsar 采用计算与存储分离的分层架构设计,支持多租户、持久化存储、多机房跨区域数据复制,具有强一致性、高吞吐、低延时以及高可扩展流数据存储特性。

与大多数消息传递系统的单片架构不同,Pulsar 采用分层分片式的架构,服务层和存储层都能够独立扩展,以提供更好的性能、可扩展性和灵活性,这种设计对容器非常友好,使得 Pulsar 成为流原生平台的理想选择。

Pulsar 的企业特性包括消息的持久化存储、多租户、多机房互联互备、加密和安全性等。Pulsar 提供和 Kafka 兼容的 API,以及 Kafka-On-Pulsar(KoP) 组件来兼容 Kafka 的应用程序。KoP 在 Pulsar Broker 中解析 Kafka 协议,用户不用改动客户端的任何 Kafka 代码就能直接使用 Pulsar。

在消息领域,Pulsar 是第一个将存储计算分离云原生架构落地的开源项目。除了存储计算的分层架构,Pulsar 系统中的节点对等、大集群管理带来的资源池化、高可用特性带来的系统弹性等和云原生的理念十分契合。

团队介绍

StreamNative 是一家开源基础软件公司,由 Apache 顶级项目 Apache Pulsar 、Apache BookKeeper 原生核心开发者组建而成,围绕 Apache Pulsar 及 Apache BookKeeper 打造下一代流数据平台。SteamNative 作为 Apache Pulsar 的商业支持公司,专注于开源生态和社区构建,致力于前沿技术领域的创新,创始团队成员曾就职于 Yahoo、Twitter、EMC 等知名大公司。

公司创建于 2019 年,创立初期即获得红杉中国种子基金天使轮投资,在近期已完成数百万美元的 Pre-A 轮融资,本轮融资由源码资本领投、红杉中国种子基金跟投。

项目自荐

消息系统作为大数据平台基础设施组件,对于构建大数据应用程序尤其关键。Apache Pulsar 采用计算与存储分离的分层架构设计,支持多租户、持久化存储、多机房跨区域数据复制,具有强一致性、高吞吐以及低延时的高可扩展流数据存储特性,解决了目前流行消息系统如 Kafka 等在诸多场景遇到的技术瓶颈,并且可以大大降低 IT 设施投入、简化运维操作,提升稳定性,助力业务发展。

目前 Apache Pulsar 正在快速发展,全球贡献者已超过 300 位,已有众多国内外大型互联网和传统行业公司采用 Apache Pulsar,使用案例分布在人工智能、金融、电信运营商、直播与短视频、物联网、零售与电子商务、在线教育等多个行业,如美国有线电视网络巨头Comcast、Yahoo!、腾讯、中国电信、中国移动、BIGO、VIPKID 等,发展潜力空间巨大。

结语

Pulsar 作为企业级的下一代分布式消息系统,随着开源后,Pulsar 也不再只是中间件的功能,而是慢慢发展成为一个 Event Streaming Platform(事件流处理平台),具有 Connect(连接)、Store(存储)和 Process(处理)功能。

且 Pulsar 特有的分层分片的架构,在保证大数据消息流系统的性能和吞吐量的同时,也提供了高可用性、高可扩展性和易维护性。分片架构将消息流数据的存储粒度从分区拉低到了分片,以及相应的层级化存储,使得 Pulsar 可以更好的匹配和适配 Flink 的批流一体的计算模式。

该项目已入选 「SFOSSP - 乐贴网开源项目支持计划」,我们希望借助社区的资源对开源项目进行相关的宣传推广,并作为一个长期项目助力开源事业的发展,与广大开发者共建开源新生态。
有意向的开源项目负责人或团队成员,可通过邮箱([email protected])提供相应的信息(开源项目地址、项目介绍、团队介绍、联系方式等),以便提升交流的效率。

clipboard.png