关于 Apache Pulsar

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

导语

各位小伙伴们,Pulsar 社区周报更新来啦!

本次 Pulsar 社区周报,为大家呈现 Pulsar client、broker、transactions 等内容,帮助社区小伙伴们掌握 Pulsar 项目及社区每周进展,也方便大家更好地参与到 Pulsar 社区中来!

感谢本周以下小伙伴为 Apache Pulsar 添砖加瓦(排名不分先后,看看你有没有上榜):

@gaoran10, @hangc0276, @tspannhw, @dlg99, @oversearch, @freeznet, @Jennifer88huang, @timmyyuan, @Anonymitaet,@ kaushik-develop, @eolivelli, @vroyer, @315157973, @gaozhangmin,@jerrypeng, @BewareMyPower, @codelipenghui, @lhotari, @Technoboy-, @liangyepianzhou, @congbobo184

接下来,一起看看 2021 年 8 月 9 日 ~ 2021 年 8 月 15 日有哪些值得你关注的进展吧!

本周亮点

[Java Client] 支持生成键值编码消息,由此用户可在使用 pulsar-client 时设置 schema。

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

贡献者:@eolivelli

[Broker] 在 namespace 注册/注销时,使用其全限定名称避免混淆。

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

贡献者:@kaushik-develop

重要特性

•因为 PR 较多,仅列举较大 PR 进展,不包括当周全部动态•下面 PR 均已合入 Pulsar 主分支

[Transaction] 修复 Pulsar 2.8.0 在单机模式下,开启 transaction 时无法正常工作的问题。

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

贡献者:@liangyepianzhou

[Broker] 添加指标统计游标读写数量。

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

贡献者:@Technoboy-

[Java Client] 移除 Pulsar 实现类运行时的反射。

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

贡献者:@eolivelli

重要 Bug 修复

•因修复内容较多,仅列举较重要修复内容,不包括本周全部动态•下面修复均已合入 Pulsar 主分支

[Flaky test] 修复 ManagedLedgerTest.testLedgerReachMaximumRolloverTime。

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

贡献者:@Technoboy-

[Broker] 利用 getIfValid​ 方法来避免 handleMetadataStoreNotification 吞并异常。

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

贡献者:@Technoboy-

[Security] 将 Jetty 升级至 9.4.43.v20210629 版本。

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

贡献者:@lhotari

[C++ Client] 修复 UnAckedMessageTrackerEnabled 中对象释放重用和构造器的相关bugs.

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

贡献者:@oversearch

[Transaction] 修复当 topic 或者 sub 被删除后,transaction buffer client 处理 endTxn 操作时的问题。

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

贡献者:@congbobo184

[Broker] 修复在启用 topic 元数据压缩时,java.nio.ByteBuffer.position(I)Ljava/nio/ByteBuffer​出现的 java.lang.NoSuchMethodError 异常。

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

贡献者:@codelipenghui

[Python Schema] 修复 Python Schema 重新定义 Record/Enum 的问题。

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

贡献者:@gaoran10

[Function] 修复 Function/Source/Sink 类型是 ByteBuffer 时出现的类型转换异常。

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

贡献者:@jerrypeng

[Java Client] 修复值为 Null 的 messageId 可能传递给 compareTo() 方法的问题。

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

贡献者:@BewareMyPower

[Broker] 修复 getPreviousPosition 的空指针异常。

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

贡献者:@gaozhangmin

[Broker] 避免从 offloader 获取 offload 策略时的重复调用。

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

贡献者:@codelipenghui

[Broker] 使用 get 代替 join 来避免阻塞。

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

贡献者:@315157973

活动和新闻

•[公告] 欢迎新晋Apache Pulsar Committer成员付睿!​•[海外社区活动]• 9月9日:网络研讨会 - 利用 Pulsar 打造微服务[1]•9月21日至23日:ApacheCon 2021[2]•10月6日:Pulsar Summit 欧洲线上峰会[3]•[中文社区活动]•议题征集 | Pulsar Summit Asia 2021 正式启动,开启演讲议题征集!•社区活动|Apache Hudi x Apache Pulsar Meetup 杭州站来啦!

博文推荐

•博文干货|5张图带你快速入门 Pulsar 的存储引擎 BookKeeper•直播回顾|TGIP-CN 035: Apache Pulsar 动手实战第二期:容器部署实战


本期周报翻译贡献者简介

姜吉宁 Jimmy, 开源爱好者,终生学习者,工作三年的程序员。最近因公司业务需求,个人开始调研开源消息队列产品。调研过程中,注意到 Pulsar 这款消息队列新星,随即被其吸引,目前尝试落地使用中。愿 Pulsar 越做越好,也期待自己能不断理解 Pulsar,早日贡献代码!


作为全球性开源项目,截至 2021 年 8 月 25 日,Apache Pulsar 已拥有 443 名贡献者、9.5 K+ Star 、2.3 K+ Fork 。正是由于分布在全球各地的社区开发者的贡献,才使得 Apache Pulsar 项目不断发展与前进。

让我们期待下一周的 Apache Pulsar 周报!

如果你也想为 Apache Pulsar 项目出一份力、成为我们的 Contributor,参考下面链接,来加入我们吧:

Apache Pulsar 官方贡献指南[4]

引用链接

[1]​ 9月9日:网络研讨会 - 利用 Pulsar 打造微服务: https://streamnative.zoom.us/webinar/register/WN_0vVCCqGhQ4G1978pZvxwZg

[2]​ 9月21日至23日:ApacheCon 2021: https://www.apachecon.com/acah2021/

[3]​ 10月6日:Pulsar Summit 欧洲线上峰会: https://hopin.com/events/pulsar-summit-europe-2021

[4]​ Apache Pulsar 官方贡献指南: http://pulsar.apache.org/en/contributing/

Pulsar 周报 2021-08-09 ~ 2021-08-15_队列