Apache Pulsar 9 月月报:正在快速成长的下一代分布式消息流平台

用户头像
Apache Pulsar
关注
发布于: 2020 年 10 月 04 日
Apache Pulsar 9月月报:正在快速成长的下一代分布式消息流平台

本月看点速览

  • 产品动态

  • 新增功能

  • Bug 修复

  • 社区动态

  • 海内外社区动态

  • 技术干货

关于 Apache Pulsar



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

导语



各位小伙伴们,Pulsar 社区月报如约而至!



本月 Pulsar 社区内也进行了很多产品细节完善和更新。本月我们合并了来自社区的 126 个 commit,同时 transaction 和 topic policy 方面也在逐渐完善,相信不久就会和大家见面。感谢以下各位大佬本月对 Pulsar 项目的支持,让 Apache Pulsar 继续发光发热!(排名不分先后,看看你有没有上榜 🏆🏆):



@congbobo184 @merlimat @hrsakai @srkukarni @zymap @gaoran10 @aahmed-se @315157973 @mkozioro @zhanghaou @BewareMyPower @wolfstudy @hangc0276 @jerrypeng @aloyszhang @codelipenghui @Technoboy- @equanz、@kellyfj、@jianyun8023、@MarvinCai、@cimura、@tuteng、@Jennifer88huang、@RobertIndie、@massakam、 @Bklyn、@jiazhai、@lukestephenson-zendesk、@sijia-w、@yuku、2aloyszhang、@Huanli-Meng、@david-streamlio



产品动态



经过不断地努力,社区在本月成功发布 Pulsar Flink Connector 2.5.0 版本。Pulsar Flink Connector 集成了 Apache Pulsar 和 Apache Flink(数据处理引擎),允许 Apache Flink 向 Apache Pulsar 读写数据。更多详情可参考➡️ Pulsar Flink Connector 2.5.0 正式发布



9 月 28 日,StreamNative 宣布开源了 “MoP”(MQTT on Pulsar)。MoP 将 MQTT 协议处理插件引入 Pulsar broker。这样一来,Apache Pulsar 就可以支持原生 MQTT 协议。与 KoP 相似,MoP 是一种可插拔的协议处理插件。更多详情可参考➡️ StreamNative 宣布开源 MoP!



Pulsar Manager 也在今天发布了 0.2.0 版本,具体版本更新细节可以参考官网:http://pulsar.apache.org/en/pulsar-manager-release-notes/

🧰 新增功能



  • Transaction: 处理事务中的消息确认

https://github.com/apache/pulsar/pull/7856



  • Transaction: 支持对分区事务的异常终止

https://github.com/apache/pulsar/pull/7953



  • Transaction: 优化消费事务型消息的逻辑

https://github.com/apache/pulsar/pull/7833



  • Topic Policy: 支持在 Topic 级别设置、获取和移除 inactiveTopicPolicies

https://github.com/apache/pulsar/pull/7986



  • Topic Policy: 支持在 Topic 级别设置卸载策略

https://github.com/apache/pulsar/pull/7883



  • Topic Policy: 支持在 Topic 级别设置、获取和移除 maxProducers

https://github.com/apache/pulsar/pull/7914



  • Topic Policy: 支持在 Topic 级别设置、获取和移除压缩阈值

https://github.com/apache/pulsar/pull/7881



  • Broker: Pulsar Functions 的消费者/生产者属性支持主机名

https://github.com/apache/pulsar/pull/7897



  • Broker: Pulsar primitive schema 支持 Java 8 日起和时间类型

https://github.com/apache/pulsar/pull/7874



  • Broker: BatchPushSource 支持异步通知错误

https://github.com/apache/pulsar/pull/7865



  • Broker: 支持在 Topic 级别上设置消息发送速率的流控

https://github.com/apache/pulsar/pull/7863



  • Bookie: 添加 bookkeeperClientMinNumRacksPerWriteQuorum 和 kkeeperClientEnforceMinNumRacksPerWriteQuorum 配置选项

https://github.com/apache/pulsar/pull/7977



  • Topic Policy: 支持在 topic 级别设置、获取、删除 maxConsumers

https://github.com/apache/pulsar/pull/7968



  • Transaction: 更新 subscription 的确认中止进程

https://github.com/apache/pulsar/pull/7979



  • Topic Policy: 修复 dispatchRate 的覆盖顺序

https://github.com/apache/pulsar/pull/8004



  • C++ Client: C ++ 客户端支持基于键的批处理

https://github.com/apache/pulsar/pull/7996



  • Pulsar Perf: 支持在 Key_Shared 订阅模式下,为 consumer 设置消息主键

https://github.com/apache/pulsar/pull/7989



  • OAuth2: 从 well-known configuration 路径下获取 OAuth2 token 端点

https://github.com/apache/pulsar/pull/8006



  • Functions: Pulsar Functions 支持指定订阅位置

https://github.com/apache/pulsar/pull/7891



  • Topic Policy:支持在 topic 级别设置、获取、删除每个订阅的 maxConsumers

https://github.com/apache/pulsar/pull/8003



  • Transaction:支持批处理消息的 pending-ack 状态

https://github.com/apache/pulsar/pull/8037



  • Pulsar Broker:支持配置 HTTP 请求的基本速率限制

https://github.com/apache/pulsar/pull/8031



  • Bookie:更新 BookKeeper main 方法类

https://github.com/apache/pulsar/pull/8065



  • Bouncy Castle:升级 Bouncy Castle 至最新版本

https://github.com/apache/pulsar/pull/8047

🔧 Bug 修复



  • Broker: 修复 broker 端确认消息时出现的 NPE(空指针异常)问题

https://github.com/apache/pulsar/pull/7937

  • Broker: 在 Key_Shared 订阅模式下,当消费者无法消费消息造成临时跳过消息时,暂停发布消息

https://github.com/apache/pulsar/pull/7553

  • Metrics: 修复提供错误信息的 Pulsar metrics

https://github.com/apache/pulsar/pull/7905

  • CPP Client: 确保 BatchAcknowledgementTracker 和 UnAckedMessageTrackerEnabled 的 clear() 方法线程安全

https://github.com/apache/pulsar/pull/7862

  • Broker: 通过 Ledger ID 划分消息范围,并将其存储在 individualDeletedMessages 中

https://github.com/apache/pulsar/pull/7861

  • Broker: 修复添加消费者时发生的死锁问题

https://github.com/apache/pulsar/pull/7841

  • CPP Client: 异常处理中,抛出 std::exception 类来代替 char*

https://github.com/apache/pulsar/pull/7798

  • Functions: 优化批处理源的 close() 进程出现异常时的处理方式错误

https://github.com/apache/pulsar/pull/7984

  • Functions: 改进批处理内部 topic 清除的操作

https://github.com/apache/pulsar/pull/7985

  • Security: 将 snakeyaml 升级到版本 1.26

https://github.com/apache/pulsar/pull/7994

  • Broker: 当检查 broker 端发布缓存时,避免多次重复计算一个 ServerCnx 的发布缓存

https://github.com/apache/pulsar/pull/7926

  • OAuth2: 修复使用 OAuth2 认证插件启动代理服务时出现的 Null Exception 异常情况

https://github.com/apache/pulsar/pull/8019

  • Broker: 修复在 Key_Shared 订阅模式下将消息分发给消费者时出现的IndexOutOfBoundsException 异常情况

https://github.com/apache/pulsar/pull/8024

  • Security:若客户端身份验证失败,避免重新连接到服务器

https://github.com/apache/pulsar/pull/8058

  • Transaction:修复 transaction 消息确认问题

https://github.com/apache/pulsar/pull/8007

  • Pulsar Client:在 PulsarClientTool 中,添加 tlsEnableHostnameVerification 可配置

https://github.com/apache/pulsar/pull/8041

社区动态

📣 TGIP 系列直播



💙 TGIP-CN

TGIP-CN 系列所有回放视频可参考:https://www.bilibili.com/video/BV1T741147B6



💜 网络直播:Israeli Java Community

9 月 9 日,工程师 Addison Higham 在 Israeli Java Community (Java.IL) 活动中分享了「Apache Pulsar: Under the Hood for Java Developers」的相关内容。

🔗 PPT 参考:https://www.slideshare.net/streamnative/apache-pulsar-under-the-hood

🔗 回放视频参考:https://www.youtube.com/watch?v=8DkZKsjjcG0&feature=youtu.be



📣 社区重大活动



🔷 Apache DolphinScheduler x Pulsar 在线 Meetup

9 月 5 日,Apache Pulsar 联合 Apache DolphinScheduler 举办了线上 meetup,此次活动聚集了 200+ 小伙伴,直播观看人次突破 1000+。



🔷 Pulsar Summit Asia 2020 正式启动,演讲征集中

今年 6 月份我们成功举办了全球参与的 Pulsar Summit Virtual Conference。为了更好地聚集亚洲地区 Pulsar 开发者和贡献者,Pulsar Summit Aisa 2020 将于 11 月 28-29 日召开!考虑到疫情,此次峰会将全面线上举办,目前演讲议题仍在开放征集中,欢迎报名!

更多内容可查看➡️ Pulsar Summit Asia 2020 正式启动,演讲议题征集中!



🔷 年度开源盛会 ApacheCon 来临,Apache Pulsar 专场大咖齐聚

2020 年 ApacheCon 大会全程线上举办,从 9 月 29 日到 10 月 1 日,会议共持续 3 天。Apache Pulsar 作为 Apache 软件基金会顶级项目,在本次大会开设了 Apache Pulsar 专场论坛。

Pulsar 专场详情可参考:https://apachecon.com/acah2020/tracks/pulsar.html

更多内容可查看➡️ 年度开源盛会 ApacheCon 来临,Apache Pulsar 专场大咖齐聚



🔷 2020 中国开源年会 COSCon’20 再启程,Apache Pulsar 社区成为本大会社区合作伙伴

2020 中国开源年会 COSCon’20 将于今年 10 月 24-25 日举行,将在线上进行丰富的直播活动,并在上海、北京、深圳和成都设立分会场,广邀当地的小伙伴们一起加入到这场开源盛事中来。同时会有多位导师进行各种各样的主题演讲,为大家带来不一样的开源之旅。

Apache Pulsar 社区荣幸成为此次开源年会的社区合作伙伴。



🔷 开源流数据公司 StreamNative 正式加入 CNCF

近日,开源流数据公司 StreamNative 宣布正式加入云原生计算基金会 CNCF(全称:Cloud Native Computing Foundation ),成为 CNCF 共建云原生社区的重要合作伙伴。

更多内容可查看➡️ 开源流数据公司 StreamNative 正式加入 CNCF,积极推动云原生策略发展



同时对 StreamNative 公司联合创始人兼 CTO 翟佳进行了系列采访,相关采访可查看➡️ 专访 PMC,开源项目 Apache Pulsar 如何挑战 Kafka?



技术干货




以上就是 9 月份的脉动之旅。Apache Pulsar 正在快速成长,感谢来自大家的支持!



Apache Pulsar 社区鼓励大家积极参与开源社区,无论是文档、代码、翻译,还是技术博客,都欢迎大家积极参与,早日成为 Pulsar contributor,一起加油鸭。



如果你对 Pulsar Contribute 的流程不太熟练,也可以参考我们这篇小教程,让你熟悉如何通过 GitHub 对 Pulsar 进行贡献:新手向|非技术人员如何参与 Pulsar 项目进行贡献



参与贡献项目可选:



发布于: 2020 年 10 月 04 日 阅读数: 62
用户头像

Apache Pulsar

关注

下一代云原生分布式消息流平台 2017.10.17 加入

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

评论

发布
暂无评论
Apache Pulsar 9月月报:正在快速成长的下一代分布式消息流平台