Pulsar3.2.0 于 2024-02-05 发布,提供了一些新特性和修复了一些 bug ,共有 57 位开发者提交了 88 次 commit。
以下是一些关键特性介绍.
速率限制
在 3.2 中对速率限制做了重构:PIP-322 Pulsar Rate Limiting Refactoring.
速率限制器是 Pulsar 服务质量(Qos)保证的重要渠道,主要解决了以下问题:
- 速率限制器的高 CPU 负载
- 大量的锁竞争会影响
Netty IO
线程,从而增加其他 topic 的发送延迟 - 更好的代码封装
Topic 压缩时会删除 Null-key 消息
Pulsar 支持 Topic 压缩,在 3.2 之前的版本中 topic 压缩时会保留 Null key 的消息。
从 3.2.0 开始将会修改默认行为,默认不会保留,这可以减少存储。如果想要恢复以前的策略可以在 broker.conf 中新增配置:
代码语言:javascript复制topicCompactionRetainNullKey=true
具体信息请参考:PIP-318.
WebSocket 的新特性
- 支持多个 topic 消费:PIP-307.
- 端对端加密 PIP-290.
CLI 的用户体验改进
- CLI 可以配置内存限制
- 允许通过正则或者是文件批量删除 topic
- 通过
pulsar-admin clusters list
可以打印当前使用的 cluster
构建系统的改进
3.2.0 中引入了PIP-326: Bill of Materials(BOM) 来简化依赖管理。
参与其中
Pulsar 是发展最快的开源项目之一,被 Apache 基金会评选为参与度前五的项目,社区欢迎对开源、消息系统、streaming 感兴趣的参与贡献