Pulsar 社区周报| 2020-10-17 ~ 2020-10-23

关于 Apache Pulsar

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

GitHub 地址:http://github.com/apache/pulsar/

导语

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

首先祝贺 Apache Pulsar 新增两位贡献卓越的 committer!他们是来自 BIGO 的陈航(Github 地址:@hangc0276)与 StreamNative 的孟焕丽(Github 地址:@Huanli-Meng)!Pulsar 社区正在快速地发展壮大,期待越来越多的小伙伴加入 contributor 和 committer 的行列!同时,Pulsar 周报新增《本周亮点》模块,详细描述 Pulsar 值得瞩目的大进展。那接下来让我们回归正题。

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

感谢本周以下小伙伴为 Apache Pulsar 添砖加瓦(排名不分先后,看看你有没有上榜):
@BewareMyPower@david-streamlio@Renkai@merlimat@wolfstudy、@gaoran10@bmyers-csu@hangc0276@murong00@vaihtovirta@315157973@codelipenghui@rdhabalia@lhotari@pkumar-singh@jerrypeng@yixing1337@klwilson227@Jennifer88huang

接下来,一起看看 10-17 ~ 10-23 有哪些值得你关注的进展吧!

本周亮点

Pulsar 新增支持将光标重置到批消息的某一个索引。

在 2.6.0 版本中,Pulsar 支持确认批消息索引,但是用户无法设置光标。新增此功能后,用户在再次使用消息时将光标重置到批消息的某一个索引,可再次获得该批处理索引。

PR 地址:https://github.com/apache/pulsar/pull/8285
贡献者:@Renkai

重要特性

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

[Tiered Storage] 重构 JCloud 分层存储,支持其他 JClouds 支持的 provider。
PR 地址:https://github.com/apache/pulsar/pull/6335
贡献者:@david-streamlio

[Metrics] 添加 topic 查找操作的指标。
PR 地址:https://github.com/apache/pulsar/pull/8272
贡献者:@merlimat

[Pulsar Functions] 组织并优化 Go 函数的示例目录。
PR 地址:https://github.com/apache/pulsar/pull/8288
贡献者:@wolfstudy

[Transaction] 调整 TransactionBuffer 接口。
PR 地址:https://github.com/apache/pulsar/pull/8291
贡献者:@gaoran10

[Pulsar Broker] 添加 REST 处理器,确定 broker 是否已完全准备好接受请求。
PR 地址:https://github.com/apache/pulsar/pull/8303
贡献者:@merlimat
[Pulsar Broker] 在 metadata 设置结束时,关闭 ZooKeeper 连接。
PR 地址:https://github.com/apache/pulsar/pull/8228
贡献者:@bmyers-csu

[Pulsar Broker] 支持限制每个 topic 的最大订阅数。
PR 地址:https://github.com/apache/pulsar/pull/8289
贡献者:@hangc0276

[Pulsar Bookie] 初始化 metadata 时,优化 BookKeeper 元数据服务的 URI。
PR 地址:https://github.com/apache/pulsar/pull/8269
贡献者:@murong00

[Pulsar Functions] 支持访问 Function 的当前消息。
PR 地址:https://github.com/apache/pulsar/pull/8290
贡献者:@vaihtovirta

[Pulsar Broker] 支持在基于消息 ID 重置光标时排除消息。
PR 地址:https://github.com/apache/pulsar/pull/8306
贡献者:@315157973

[Pulsar Broker] 在 namespace API (V1) 支持设置复制的发送给速率。
PR 地址:https://github.com/apache/pulsar/pull/8314
贡献者:@rdhabalia

[Pulsar Admin] 支持将光标重置为 Pulsar Admin 的批处理索引。
PR 地址:https://github.com/apache/pulsar/pull/8329
贡献者:@codelipenghui

[Pulsar Broker] 在本地策略中配置 namespace 反关联性策略。
PR 地址:https://github.com/apache/pulsar/pull/8349
贡献者:@rdhabalia

[Pulsar Proxy] 添加代理插件接口,支持其他用户定义的小服务程序。
PR 地址:https://github.com/apache/pulsar/pull/8067
贡献者:@wolfstudy

重要 Bug 修复

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

[Managed Ledger] 修复了 broker 在 ManagedLedgerImpl.asyncReadEntries 无限循环的问题。
PR 地址:https://github.com/apache/pulsar/pull/8284
贡献者:@hangc0276

[C++ Client] 修复客户端总是分配更多缓冲的问题。
PR 地址:https://github.com/apache/pulsar/pull/8283
贡献者:@merlimat

[Pulsar Standalone] 修复在独立模式下运行 ZooKeeper 时无法删除旧快照的问题。
PR 地址:https://github.com/apache/pulsar/pull/8217
贡献者:@merlimat

[Managed Ledger] 修复在 ManagedCursorImpl 中更新 readPosition 时产生的竞态条件。
PR 地址:https://github.com/apache/pulsar/pull/8299
贡献者:@lhotari

Pulsar Broker] 修复在 Key_Shared 订阅模式下消息 TTL 和消息的重播顺序问题。
PR 地址:https://github.com/apache/pulsar/pull/8292
贡献者:@codelipenghui

[Pulsar Broker] 使用 cacheExpirySeconds 作为 ZooKeeper 缓存的到期时间。
PR 地址:https://github.com/apache/pulsar/pull/8302
贡献者:@rdhabalia

[C++ Client] 修复未初始化的成员变量导致的单元测试的段故障。
PR 地址:https://github.com/apache/pulsar/pull/8334
贡献者:@merlimat

[C++ Client] 修复对批消息而非消息数量实施反压的问题。
PR 地址:https://github.com/apache/pulsar/pull/8331
贡献者:@merlimat

[Pulsar Broker] 修复分割 bundle 的 API 覆盖 LocalPolicies 的问题。
PR 地址:https://github.com/apache/pulsar/pull/8313
贡献者:@rdhabalia

[C++ Client] 修复订阅单个分区时消息 ID 错误的问题。
PR 地址:https://github.com/apache/pulsar/pull/8341
贡献者:@BewareMyPower

活动和新闻

  • [TGIP] 每周直播:Pulsar 及其生态系统

  • [TGIP-CN] 每周直播:Pulsar 及其生态系统

活动预告

  • Pulsar 2020 亚洲峰会
    官网地址: https://pulsar-summit.org/en/event/asia-2020
    点击此处 报名

  • 10 月 27 日:线上研讨会 Low-Latency Stream Processing with Jet
    主讲人:Can Gencer,Director of Engineering at Hazelcast
    点击此处,报名活动

推荐阅读

  • 博客:Introducing Cloud Storage Sink Connector - Streaming Data From Apache Pulsar to Cloud Objects
    博客链接: https://streamnative.io/blog/tech/2020-10-20-cloud-storage-sink-connector-251

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

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

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

Apache Pulsar 项目参与指南
Apache Pulsar 官方贡献指南

Apache Pulsar 数据库架构 消息中间件 云原生顶级项目
Apache Pulsar 是 Apache 软件基金会顶级项目,是下一代云原生分布式消息流平台,集消息、存储、轻量化函数式计算为一体。该系统源于 Yahoo,最初在 Yahoo 内部开发和部署,支持 Yahoo 应用服务平台 140 万个主题,日处理超过 1000 亿条消息。Pulsar 于 2016 年由 Yahoo 开源并捐赠给 Apache 软件基金会进行孵化,2018 年成为 Apache 软件基金会顶级项目。Pulsar 采用计算与存储分离的分层架构设计,支持多租户、持久化存储、多机房跨区域数据复制,具有强一致性、高吞吐、低延时以及高可扩展流数据存储特性。