直播回顾|TGIP-CN 036:Apache Pulsar 最新技术进展与动态

136 阅读10分钟

在 3 月 13 日举办的 TGIP 活动上,Apache Pulsar PMC 成员、StreamNative 联合创始人翟佳与大家一起回顾了 Apache Pulsar 在 2021 年所取得的成绩和进展,并深入解读了 2022 年 Pulsar 的技术发展方向和社区动态。本文为该期 TGIP《预见 2022!Apache Pulsar 技术进展与社区动态》直播文字整理版本。

回顾视频可扫码 👇👇👇

回顾 2021──Apache Pulsar 成绩丰硕

2021 年是 Apache Pulsar 成为 ASF 顶级项目的第三周年,Apache Pulsar 在 2021 年飞速发展:社区迎来了第 400 位贡献者,月度活跃贡献者超越 Kafka,在 GitHub Star 的 Star 突破 10,000+

image.png Apache Pulsar GitHub 主仓库 Star 数量增长图

image.png Apache Pulsar 月度活跃贡献者数量赶超 Kafka

10,000+ 名关注者分散在全球 5700 多个地区,其中欧洲和北美较多,非洲、南美洲也都有分布。

Apache Pulsar 的关注者来自世界各地

而在 Apache 社区中,Pulsar 的表现同样非常活跃,在 Apache 基金会年度活跃 Commit 项目中排名前五

在 Pulsar 成为 ASF 顶级项目三周年后的 2021 年,Pulsar 的“幕后推手” StreamNative 也被 InfoWorld 评为最佳开源软件公司

聚焦项目与社区本身,2021 年 Apache Pulsar 同样收获颇丰。谨遵“ Apache 之道”,Apache Pulsar 在项目管理委员会中投票产生了4 位 PMC 成员和 16 位 Committer,这些成员同样分布在全球各地。在版本迭代上,Pulsar 持续进行版本发布,2021 年共进行了 7 次版本发布。其中在 2.8.0 版本中, Pulsar 事务功能正式可用,可以帮助用户实现精确一次语义,在跨 Topic 场景下保障了消息生产和确认的原子性操作。

此外,在上下游生态建设上,Pulsar 也在持续丰富与健壮,如在 Pulsar Flink Connector - Source 、Sink 已合并进入 Flink 上游;StreamNative 主导或联合合作伙伴开源多项周边项目,包括 Function Mesh、SQS Connector、AMQP 1.0 Connector 以及 RoP 等。

与此同时,Pulsar 社区的各类活动也积极展开:

  • 多地(北京、广州、深圳等)举办了 Pulsar 2.8.0 Release Party;
  • 定期举行月度开发者与用户组会议;
  • 在北京、上海、杭州、广州和深圳等地进行线上线下的 Meetup;
  • 举办了三场线上 Pulsar Summit,覆盖了北美、欧洲与亚洲,共计讨论议题 90+,其中亚洲峰会报名 1K+,直播观看 4W+。在峰会中,Apache Pulsar PMC 成员对 Pulsar 未来的发展路线进行了详尽解读,并展示了各行业场景用户如何使用 Pulsar 来解决自身痛点的实践和探索。

上述社区活动的相关内容均可在B 站和 Youtube 上订阅浏览。

图书与教程方面,2021 年出版了首本中文 Apache Pulsar 图书,由 Apache Pulsar PMC 成员林琳撰写并正式出版。此外,StreamNative 还与传智教育旗下黑马程序员社区合作发布了 Apache Pulsar 中文视频教程,在 B 站可以免费浏览和学习

当然,Apache Pulsar 社区的不断发展壮大,离不开各行业公司的持续关注和积极参与。在 Pulsar Summit Asia 2021 年,我们也发布了两大奖项:先锋奖与优秀案例奖,其中 翼支付、拉卡拉评为先锋奖项,金山云、滴滴、知乎、微信、中国移动云能力中心、伴鱼、科拓停车、腾讯云中间件、FATE 被评为年度优秀案例奖项。

Apache Pulsar 2.10 重要特性

在即将发布的 Apache Pulsar 2.10 版本中,功能迭代和性能优化均取得了较大进展,上线了包括插件化元数据服务支持、自动化集群故障转移、全局 Topic policy 支持、插件化消息过滤扩展、Redelivery backoff、Chunk message ID、Table view 以及 Lazy loading producer 等多项功能模块。

插件化元数据服务方面,Pulsar 一直与 ZooKeeper 有着紧密的结合,但 ZooKeeper 在面对超大规模的用户时,会出现大并发和访问压力等问题。

在社区探索过程中,希望元数据的服务可以更加原生化,从而更好地解决用户在元数据层所遇到的问题。目前,用户可以切换成 Etcd 或者其他元数据的服务;而在 Pulsar 内部,所有的 API 基本都已完成,并在持续的优化和改进过程中。

2022 年,StreamNative 将基于 Pulsar 推出更加云原生的元数据服务,从而帮助用户更便捷的将集群做无限扩展。

自动化集群故障转移方面,Pulsar 具备跨地域复制、多集群互联互备的功能,但在互联互备的过程中可能会出现一些问题。对于单个集群,在 Pulsar 的 Cluster 端提供了多种方式让用户访问多个集群的多个 Broker 服务,而在多集群的情况下,用户通常使用 DNS 的方式,但都不够自动化。所以社区在 Cluster 端,结合 Broker 的特性做了优化,让集群的切换更加自动化。

从 2.9 到 2.10,StreamNative 投入了极大精力在系统稳定性和关键场景性能方面做了诸多优化。这些功能的迭代和性能的提升,也会通过社区公众号文章/报告的方式进行总结发布,同样还会在发版的 Blog 中为大家进行详细介绍。大家可预约 3 月 27 日 TGIP 直播 ,由 Pulsar PMC 成员李鹏辉详解 Pulsar 2.10.0 关键特性。

周边生态规划:连接器&协议插件

早在 2018 年从 Apache 软件基金会毕业前夕,Pulsar 就已经具备了良好的云原生和数据管道存储的基础。

很多社区用户就在此基础上进行积极探索,例如在数据管道方面与其他大数据生态做整合、与计算引擎做整合。所以,周边生态一直是 Pulsar 从 Apache 软件基金会毕业后,投入极大精力去建设和发展的一项内容。在今年的规划中,Pulsar 的生态建设主要包含两大内容,即周边连接器与协议插件。

在连接器方面, StreamNative 主导了 Pulsar 与 Snowflake 的整合,支持将数据 Sink 至 Snowflake;与 Lakehouse 技术架构进行整合,与 Flink 社区进行 Source 及 Sink 的合并。

在与 Lakehouse 的整合中,StreamNative 首先通过 Connector 的方式让用户更便捷地将 Pulsar 的数据与 Lakehouse 的数据格式快速打通,可以让数据在 Pulsar、Hudi 和 Iceberg 之间互通流转,让现有的生态用户实现直接对接。

其次是通过 Pulsar 内部二次存储的方式,把 Pulsar 中的数据直接自动转换成 Hudi 或者 Iceberg 所需的格式,真正让用户使用 Pulsar 的批流融合特性。通过为用户呈现统一的数据视图,从而减少用户在面临新数据技术集成时所遇到的问题。

而在协议插件方面,StreamNative 通过 Pulsar 内嵌的各种服务端协议解析来方便用户与现有的应用程序打通,KoP、MoP 以及 AoP 就是这其中的代表。

其中,KoP(Kafka on Pulsar)是 StreamNative 在协议插件中的第一次探索

在 Kafka 和 Pulsar 中都有一个共同的抽象,即认为底层的 Topic 就是一个 log,而这种抽象在上层的很多设计中也都类似,这让 Kafka on Pulsar 的实现变得简单可行。对于 Kafka 而言,底层依赖于文件系统做数据的存储和 log 的抽象;而对于 Pulsar 的底层而言,则是用 BooKkeeper 来做 log 的抽象和实现。KoP 目前是社区中使用最多的一个协议插件,未来将在稳定性、事务支持以及更完善的运维工具等方面进行持续改善和优化。

MoP(MQTT on Pulsar)则是 Pulsar 对于 MQTT 的支持。目前,社区中很多用户都紧跟 MoP 的步伐,将其运用在自己的线上系统中。未来 MoP 会加入对于不同版本 MQTT 和 SQS 的支持,着力发展稳定性和多协议支持。

AoP(AMQP on Pulsar),即 Pulsar 对于 AMQP 的支持。当前已经有用户在线上部署了 AoP,为 AMQP 提供服务支持。未来,社区将根据用户的需求,对 AMQP 1.0 做更多支持,持续优化 AoP 的扩展性、可读性以及可维护性。

2022 年 Apache Pulsar 社区活动展望

聚焦今年,Pulsar 在 2022 年计划推进的各类社区活动依然精彩纷呈:

  • Release Party: 新版本发布庆祝活动的举办,不但可以对参与版本发布的贡献者进行感谢,还可以让大家针对新版本内容进行深入解读与互动讨论;
  • 线上线下 Meetup: 疫情可控后 Meetup 将会覆盖更多的城市与地区,让开发者们与 Pulsar 贡献者进行面对面的沟通和交流;
  • 中文开发者与用户组月度会议 会议于每月最后一周周三定期举行,在按需进行会议组织的基础上覆盖更多的方向,进行更精细化的运营,以提升沟通效率;
  • Pulsar Summit 2022: 2022 年,欧洲峰会将与北美峰会合并为 Global 峰会,并于 8 月举行,而亚洲峰会将于 11 月举行,视疫情情况确定线上/线下。

在图书与教程方面,2022 年将翻译并引进更多优秀的国外书籍。其中 《Apache Pulsar In Action》已由图灵图书引进,预计将于今年出版;《Mastering Apache Pulsar》已由博文视点引进,同样预计将于今年出版。此外,还会通过社区资源的相关渠道(微信公众号、B 站、邮件列表、Slack 以及 GitHub),发布更多有关于 Pulsar 的线上教程。

面向 2022 年,无论是 Apache Pulsar 还是 StreamNative 都希望各位开发者和社区的关注者们可以提出更多的意见,发出更多的声音,一起交流共创,让 Pulsar 解决更多行业的痛点,一起预见更美好的 2022。

QA 精选

Q:在大数据方面,使用 Pulsar 替代 Kafka 主要优势在哪些方面?需要注意什么?

A:Pulsar 与 Kafka 相比,两者的架构完全不一样。Pulsar 自诞生之日起就是以云原生为方向的消息平台,以 MQ 和数据管道为发展重点。对 MQ 和数据管道应用场景的统一,在云原生方向上更便捷的管理和调度、更轻的运维都是 Pulsar 的主要优势。与此同时,在一致性、批流融合上的存储特性、大集群能力、跨地域复制、公有云和私有云的打通和互联互备、与云上的存储资源做对接等都是 Pulsar 的优势所在。

Q:社区是否有将 Pulsar 和数据湖、Hudi 和 Iceberg 集成的计划?

A:第一步的计划是以 Connector 的方式让数据在 Pulsar、Hudi 和 Iceberg 之间相互流转;第二步将通过 Pulsar 的二级存储把 Pulsar 的数据通过用户的设置,自动迁移成 Hudi 或者 Iceberg 的格式,并通过 Pulsar 提供统一的数据访问层。

相关阅读

关于 StreamNative

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

点击观看 TGIP-CN 直播合集