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
025: Apache Pulsar 问答专场(可直接参考下方视频链接进行回顾)
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 项目进行贡献
参与贡献项目可选:
Apache Pulsar 项目:https://github.com/apache/pulsar
Pulsar 技术文档翻译:https://github.com/apache/pulsar-translation
版权声明: 本文为 InfoQ 作者【Apache Pulsar】的原创文章。
原文链接:【http://xie.infoq.cn/article/d258e5c6554c172d8af307743】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论