Apache 软件基金会发布了分布式消息传递和流媒体平台Apache Pulsar的 3.0 版。Pulsar 3.0 引入了长期支持版本,在这种新的发布节奏下,Pulsar 社区将提供 24 个月的维护修复和额外 12 个月的安全漏洞补丁。计划是每 18 个月发布一个新的 LTS 版本。该方案针对对稳定性和更长维护周期有要求的客户。功能发布计划在两个 LTS 版本之间实施。
Apache Pulsar 是一个高性能、多租户的消息传递和流媒体平台,支持多集群、低延迟、无缝可扩展性、通过 Apache BookKeeper 提供的持久消息存储保证消息传递,以及用于数据处理和连接的无服务器连接器框架。
Pulsar 3.0 的重大改进之一是引入了新的负载管理器实现。当 Pulsar 集群增长到数千个代理和数百万个主题时,以前的负载管理器存在可扩展性问题。新的负载管理器旨在更均匀地平衡集群利用率,同时减少延迟和对Apache ZooKeeper 的依赖。它通过在非持久性主题中存储代理和捆绑包的负载数据来实现这一点,从而消除了对 N 复制的需要。
另一个增强功能是 Pulsar 中的延迟消息支持。以前的实现具有与内存约束和索引重建相关的限制。新机制支持延迟消息索引快照,最小化重建索引的成本,减少维护延迟消息索引的内存占用。此改进可以有效处理大量延迟消息并提高整体性能。
Pulsar 3.0 还带来了对多架构Docker镜像的支持。Docker 映像现已针对 Intel x86-64 和 Arm64 架构发布。
在底层优化方面,Pulsar 3.0 引入了对 BookKeeper 直接 IO 逻辑的增强。新的实现绕过了 OS PageCache,减少了内存消耗并提高了缓存利用率。
Pulsar 3.0 引入的另一项优化是 Transaction Buffer 的分段快照优化。新的分段快照方法将快照分成多个部分,每个部分都有固定数量的中止事务和一个maxReadPosition身份。此增强功能提高了事务缓冲区恢复速度,降低了与大型快照相关的资源成本,并解决了写入放大问题。
最后,Pulsar 引入了蓝绿集群部署支持。蓝绿部署是一种广泛使用的方法,用于将实时流量从一个集群迁移到另一个集群。
Pulsar 3.0 在负载均衡、延迟消息支持、Docker 镜像可用性、BookKeeper IO 逻辑优化、事务缓冲区分割和蓝绿集群部署等方面带来了重大改进。这些增强功能增强了 Pulsar 消息系统的性能、可扩展性和可用性,使其更加高效和灵活。