其次是 Pulsar 在实时数据处理场景中的优势。
在这个领域,大家更熟悉的可能是 Kafka。Kafka 在其诞生之初,主要解决了高带宽的数据传输需求,提高了资源利用率。然而,随着业务的发展,特别是近几年,我们看到用户对 topic 数量、弹性扩缩容、延迟稳定性、数据存储等方面的要求越来越高。
在这些新需求中,许多都与成本有关。例如,Pulsar 支持的 topic 数量比 Kafka 高一个数量级,因为 Pulsar 使用专有的存储设计,而不是简单依赖文件系统,减少了 page cache 的干扰。在弹性方面,Pulsar 的原生架构使得弹性扩展可以无缝进行,不需要过多的人工干预,减轻了运维负担。延迟稳定性也是 Pulsar 的一个优势,Pulsar 的数据存储设计经过了丰富的场景验证,即使在高负载下也能保持低延迟。
Pulsar 还支持更长时间的数据存储,通过分层存储可以将历史数据移动到二级存储中,降低整体成本。这些功能满足了用户在 IoT 传感器、智慧城市等场景中的需求,这些场景除了高带宽外,还需要支持大量的 topic、弹性扩展和低延迟。
展开剩余54%除了满足这些基本需求外,Pulsar 还在流数据处理中的一致性保障方面表现出色。在实时推荐和用户画像等关键业务场景中,Pulsar 能够通过一致性保障,确保数据的准确性和及时性,避免因数据错误导致的业务问题。即使在严格的一致性要求下,Pulsar 也能提供高带宽和高性能,这使得 Pulsar 在关键业务场景中比 Kafka 更具优势。
用户在切换到 Pulsar 时,通常面临的一个障碍是现有基础设施的改造成本。为了解决这个问题,Pulsar 通过提供 Kafka 协议适配器(KoP)使得用户无需更改现有代码即可切换到 Pulsar。KoP 在 Pulsar 的 broker 内部提供了 Kafka 协议的解析,这样用户可以继续使用 Kafka 的接口,而享受 Pulsar 提供的服务。
在许多关键业务场景中,我们对 Pulsar 和 Kafka 进行了对比测试。结果显示,在相同场景下,Pulsar 在带宽和性能上表现优异,甚至在某些业务场景中超过了 Kafka。此外,在节点故障恢复方面,Pulsar 的恢复时间更短,对业务影响也更小,而 Kafka 的恢复时间较长,对业务的影响更大。
发布于:湖南省