千家信息网

Apache Pulsar而非Kafka的理由有哪些

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇文章主要讲解了"Apache Pulsar而非Kafka的理由有哪些",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"Apache Pulsar而非K
千家信息网最后更新 2026年11月03日Apache Pulsar而非Kafka的理由有哪些

这篇文章主要讲解了"Apache Pulsar而非Kafka的理由有哪些",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"Apache Pulsar而非Kafka的理由有哪些"吧!

关于 Apache Pulsar

Apache Pulsar 是 Apache 软件基金会顶级项目,是下一代云原生分布式消息流平台,集消息、存储、轻量化函数式计算为一体,采用计算与存储分离架构设计,支持多租户、持久化存储、多机房跨区域数据复制,具有强一致性、高吞吐、低延时及高可扩展性等流数据存储特性。

Apache Pulsar 具有众多独特优势,如分层存储、无状态 broker、跨地域复制、多租户等,这些特性让 Pulsar 比 Kafka 更胜一筹。

无状态的 broker(易扩展)

使用 Kafka 时,需要先设置 broker 的数量。由于 Kafka 将数据存储在 broker 中,因此在使用过程中,一旦发现设置值偏小,需要更多 broker 来扩展应用程序时,就需要充分利用新分区,必须对 topic 重新分区。

Pulsar 将 broker 的状态保存在单独的层( Apache BookKeeper[1])中。Broker 层与存储层解耦,无需移动数据即可添加或使用 broker。也就是说,无需对现有数据进行重新分区也可以充分利用新 broker。

分层存储(持久存储消息、降低存储成本)

Kafka 默认数据保留时间为 7 天,也就是说,一周后会删除数据。而 Pulsar 默认保留所有未 ack 的数据,并立即删除已 ack 的数据。

Kafka 和 Pulsar 都支持通过自定义保留策略修改数据保留期限。但是,主存储中可存储的数据量会受到限制,增加数据量也会增加存储成本。分层存储支持为不同类型的数据选择节约成本又合适的存储。例如,仅在引导(回填)应用程序中会用到历史数据,因此可以为历史数据选择不同的存储类型。

Pulsar 的存储层采用分片架构,分片分布在存储节点上。使用 Pulsar,既可以写入分片到主存储,也可以卸载分片到其他类型的存储中。因此,Pulsar 支持分层存储,但 Kafka 目前还不支持分层存储。分层存储提供多个存储层,如主存储(基于 SSD)、历史存储(S3)等,因此可以轻松获取每一层的存储情况。

基于 quorum 复制(改善延迟一致性)

Pulsar 采用基于 quorum 的算法进行复制,而 Kafka 采用基于 leader-follower 的算法。虽然 Pulsar 和 Kafka 的保证相同,但基于 quorum 方式产生的延迟一致性更高。对于很多应用程序来说,延迟一致性很重要,例如,获取某些 SLA(如查询的响应时间)。

跨地域复制(高可用)

Pulsar 原生支持跨地域复制,因此 Pulsar 可以跨不同地理位置的数据中心复制数据。当数据中心中断或网络分区时,在多个数据中心存有消息副本尤为重要,提高可用性。

多租户(简化架构和管理)

Pulsar 支持多租户,即多个用户组通过访问控制或在完全不同的命名空间中共享同一集群。Kafka 目前不支持多租户,因此要共享集群就需要基于消息系统搭建一个抽象的层,或者每个用户组单独使用一个集群。

信息加密(提高安全性)

Pulsar 提供从客户端到存储节点的端到端完全加密。完全加密一般是对数据安全性的要求。Kafka 目前不支持端到端加密。

多协议支持(易与现有应用程序集成)

Pulsar 不仅支持多种协议(如 RabbitMQ、AMQP、Kafka),还支持使用 Presto[2] 并行读取历史流事件。

Pulsar Functions(一站式流处理)

Pulsar Functions 是基于 Pulsar 的轻量级流处理方式,其概念类似于 Kafka Streams。Pulsar Functions 直接部署在 broker 节点上(或作为 Kubernetes 集群中的容器),而 Kafka Streams 则是一个单独的应用程序。通过 Pulsar Functions,Pulsar 可以直接解决许多流处理任务,简化操作。

Apache Flink 集成(批处理和流处理)

Pulsar 社区就 Pulsar Functions 的局限性展开了一系列公开讨论,例如状态管理、DAG 流程等。如果 Pulsar Functions 不适用于你的使用场景,你可以考虑另一个广受欢迎的开源工具--Pulsar Flink connector[3]。

Pulsar 已经过实践检验(已用于大规模生产环境)

Pulsar 在设计上具有诸多优势。最初由雅虎团队开发,用于雅虎内部。2016 年,雅虎将 Pulsar 捐赠给 Apache 软件基金会[4]。之后,很多任务关键型应用程序都采用了 Pulsar,例如腾讯、Splunk[5]等等[6]。

Pulsar 并非十全十美

Pulsar 需要两个系统:Apache BookKeeper 和 Apache ZooKeeper,而 Kafka"只"需要 ZooKeeper。多个系统会增加操作复杂性,但也正因为采用多个系统,Pulsar 才更灵活。由于 Kafka 和 Pulsar 都使用了其他系统,二者都需要设置和维护。

在 Pulsar 和 Kafka 之间作出选择并不容易,这一决定也会带来一系列影响。我在本文中总结了 Pulsar 和 Kafka 之间的主要差异,希望这些信息可以帮助你和你的团队作出选择。如需进一步了解 Apache Pulsar 的信息,可以访问 pulsar.apache.org 或订阅邮件通知[7]。如果想要与社区的小伙伴取得联系,可以扫描文末二维码加入微信交流群。

感谢各位的阅读,以上就是"Apache Pulsar而非Kafka的理由有哪些"的内容了,经过本文的学习后,相信大家对Apache Pulsar而非Kafka的理由有哪些这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!

存储 数据 支持 应用程序 程序 应用 多个 消息 租户 系统 理由 不同 一致 一致性 历史 状态 集群 加密 处理 选择 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 博彦科技互联网金融 互联网科技资迅 互联网科技开发公司 深圳互联网络科技有限公司 互联网 科技创业 易通互联网络科技有限公司 苏州大垚互联网科技 互联网金融 科技创新 哈尔滨秒房互联网科技有限公司 湖南洣水互联网科技有限公司扣款 重庆威客帮互联网科技 互联网软件和科技 银川新华互联网科技学校联系电话 河南住房之家互联网科技 互联网公司高科技产品 电子商务与互联网科技的关系 从那以后互联网科技有限公司 互联网硬科技公司 互联网科技创新方面的资料 株洲百竞科技的互联网营销顾问 广州善班互联网科技 猫创互联网科技 哈尔滨新华互联网科技 北京华百购互联网科技有限公司 互联网在线教育科技创业 黑科技 体验场景 互联网大会 互联网科技实习生岗位 富国互联网金融科技混合基金 卡尔迅互联网科技有限公司 互联网科技平台产品运营
0