直播回顾|TGIP-CN 036:Apache Pulsar 最新技术进展与动态
在 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+。
这 10,000+ 名关注者分散在全球 5700 多个地区,其中欧洲和北美较多,非洲、南美洲也都有分布。
而在 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 基本都已完成,并在持续的优化和改进过程中。
在自动化集群故障转移方面,Pulsar 具备跨地域复制、多集群互联互备的功能,但在互联互备的过程中可能会出现一些问题。对于单个集群,在 Pulsar 的 Cluster 端提供了多种方式让用户访问多个集群的多个 Broker 服务,而在多集群的情况下,用户通常使用 DNS 的方式,但都不够自动化。所以社区在 Cluster 端,结合 Broker 的特性做了优化,让集群的切换更加自动化。
从 2.9 到 2.10,StreamNative 投入了极大精力在系统稳定性和关键场景性能方面做了诸多优化。这些功能的迭代和性能的提升,也会通过社区公众号文章/报告的方式进行总结发布,同样还会在发版的 Blog 中为大家进行详细介绍。
周边生态规划:连接器 &协议插件
早在 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。
Q & A 精选
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 提供统一的数据访问层。
相关阅读
关注公众号「Apache Pulsar」,获取更多技术干货
加入 Apache Pulsar 中文交流群👇🏻
点击观看TGIP-CN 直播合集
评论