• 产品动态

    • 新增 PIP

    • 新增功能

    • Bug 修复

    • 周边生态

  • 社区动态

    • 海内外社区动态

    • 技术干货


 产品动态 >>> 新增 PIP????‍♂️PIP 57 :优化 Broker 端连接 ZooKeeper 的会话超时在 Pulsar 中,Broker 使用 Zookeeper 来管理和维护元数据,我们称之为全局 Zookeeper 和本地 Zookeeper。全局 Zookeeper 维护 namespace 策略,集群元数据和 topic 元数据。为了减少在 Zookeeper 上的读操作,每个 broker 都会缓存全局 Zookeeper 的数据。全局 Zookeeper 会缓存 znode 的改变。当前会话超时发生在全局 Zookeeper 上时,会开启一个新会话,此时 broker 没有在全局 Zookeeper 上创建任何 `EPHEMERAL` 节点。本地 Zookeeper 维护本地的集群元数据,像 broker 端的负载均衡、topic 关系数据、managed ledger 元数据和 bookie 机架信息。所有 broker 的负载均衡和 topic 的关系数据都会基于本地 Zookeeper 创建 `EPHEMERAL` 节点。当前在本地 Zookeeper 上发生会话超时时,broker 会作 shutdown 处理。Broker 的 shutdown 会导致 topic 属主关系发生改变。这时会话超时在一些场景下就会触发一些问题。例如 broker 长时间 JVM 暂停,本地 Zookeeper 负载变高。尤其是后者,可能会触发连锁反应。因此这个提案的目的是优化在本地 Zookeeper 上的会话超时处理来避免不必要的 broker 端的 shutdown。更多信息可查看邮件讨论:
https://lists.apache.org/thread.html/r1f0de583a2d02f9aeff0cadc2bab0fcfb41bf092cfdc7ff4cc9ed1bc%40%3Cdev.pulsar.apache.org%3EPIP 详情参考:https://github.com/apache/pulsar/wiki/PIP-57%3A-Improve-Broker%27s-Zookeeper-Session-Timeout-Handling  ????‍♂️PIP 55:认证证书刷新增强 Pulsar 的身份认证框架,当客户端证书过期时候需要客户端强制重新认证。典型的场景有:
  • TLS 证书过期

  • JWT 的过期设置

  • 其他基于 Token 的系统

该 PIP 已经被合并到主分支。具体详情可参考:
https://github.com/apache/pulsar/wiki/PIP-55%3A-Refresh-Authentication-Credentials
????‍♂️PIP 54:支持按照批级别来做 acknowledgment当前 managed cursor 通过标记删除位置来维护做过 ack 的消息。但是这都会面临在批消息下的问题。 用户以单条消息为单位进行生产和消费,由于批 managed cursor 没有维护批消息的本地索引,因此用户可能会面临当消费批消息时,做了 nack,会再次收到消息的问题。这个 PIP 旨在跟踪每个批的索引状态来避免上面的问题。更多信息可查看邮件讨论:
https://lists.apache.org/thread.html/rdcc306653be6ac6d910e7302096ddae8e1a9e563df20cf6ca73085de%40%3Cdev.pulsar.apache.org%3E PIP 详情参考:
https://github.com/apache/pulsar/wiki/PIP-54:-Support-acknowledgment-at-batch-index-level>>> 新增功能
  • 在 Namespace 级别支持 offloader。
    https://github.com/apache/pulsar/pull/6183
  • 支持在拆分 bundle 的时候对 topic 进行均匀绑定。
    https://github.com/apache/pulsar/pull/6241
  • 在 namespace 的策略中增加 maxUnackedMessagesPerSubscription 和 maxUnackedMessagesPerConsumer。
    https://github.com/apache/pulsar/pull/5936
  • 支持对分区 topic 进行 unload 操作。
    https://github.com/apache/pulsar/pull/6187
  • 在 Consumer 的统计信息中暴露 lastConsumedTimestamp 和 lastAckedTimestamp。
    https://github.com/apache/pulsar/pull/6051
  • 在 Go Function 中增加心跳检查。
    https://github.com/apache/pulsar/pull/6031
>>> Bug 修复
  • 升级 ZooKeeper 到 3.5.7 来解决脑裂问题。

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

  • 修复日志压缩的一些问题,包括空 topic、流控等。

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

  • 修复 backlog 中的消息由于没有过期就被删除的问题。

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

  • 一些与 Helm charts 有关的优化,包括 Proxy、部署模板、dashboard-ingress、JVM 和 GC 配置,Grafana ingress,增加 RBAC 策略等,详情如下:

    • https://github.com/apache/pulsar/pull/6158

    • https://github.com/apache/pulsar/pull/6148

    • https://github.com/apache/pulsar/pull/6160

    • https://github.com/apache/pulsar/pull/6201

    • https://github.com/apache/pulsar/pull/6280

    • https://github.com/apache/pulsar/pull/6191

客户端
  • 修复在 HttpLookupService 中后去 schema 版本的问题

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

  • 增加消息到批时,修复可能会出现重复的问题

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

  • Pulsar DotNet 客户端 0.13.0 发布,支持多 ServiceUrl 配置

    https://www.nuget.org/packages/Pulsar.Client/

  • Pulsar Node 客户端发布 1.1.0 版本https://lists.apache.org/thread.html/r12ae256d7b8ed91bb5436d9d35a5b70677a041c7558c77dd37740e65%40%3Cdev.pulsar.apache.org%3E

>>> 周边生态`pulsarbot` 工具引入方便开发者自己运行 GitHub Action 上的测试。详情参考:https://lists.apache.org/thread.html/r425a963ce02d64d16d856938eed99f621958a5b238ea9fff9772d73c%40%3Cdev.pulsar.apache.org%3E
 社区动态1.  TGIP-CN 系列直播 已于 2 月 9 日正式上线,每周日上午 11 点 b 站和 zoom 进行同步直播。目前已上线 4 期,相关直播回放视频可点击「阅读原文」进行观看。同时前三期文字内容回顾的技术内容,可点击以下文章直接查看:第四期即将出炉!后续大家还想了解关于 Pulsar 的任何问题,都可以去这个 repo 下提 issue。同时关于每一次直播的各种参考细节,也可以在此 repo 下找到。https://github.com/streamnative/tgip-cn2. Pulsar Summit Call-for-Presentation 已结束,目前已收到 40 多份申请,感谢大家的参与。 届时将有 20 多个来自 Event Streaming 的专家进行技术内容分享,之后将在官网发布会议日程,你可以在此进行注册报名:https://pulsar-summit.org/3. Pulsar 用户调查 已于 2 月 14 日结束,共收到 165 条大家的反馈。此次调查报告的结果将很快以「Pulsar 年度报告」形式发表,敬请期待吧! 
 技术干货点击以上文章可直接点击进行阅读。  
以上就是 2 月份的脉动之旅。希望各位小伙伴们在保护好身体的同时,也可以多多参与到我们的直播中来。最后感谢大家一直以来的支持!Apache Pulsar 社区鼓励大家积极参与开源社区,无论是文档、代码、翻译,还是技术博客,都欢迎大家积极参与,早日成为 Pulsar contributor,一起加油鸭。如果你对 Pulsar Contribute 的流程不太熟练,也可以参考我们这篇小教程《新手向|非技术人员如何参与 Pulsar 项目进行贡献,让你熟悉如何通过 GitHub 对 Pulsar 进行贡献。 参与贡献项目可选: 1. Apache Pulsar 项目:
https://github.com/apache/pulsar
2. Pulsar 技术文档翻译:
https://github.com/apache/pulsar-translation

脉冲星 2 月脉动 | 新增多个 PIP 和功能,TGIP-CN 直播持续进行中!_其它