替代 Kafka?Pinterest 推出高效可扩展云原生系统 MemQ

Pinterest推出MemQ,一个高效可扩展的PubSub系统,作为Kafka的补充,成本效益高达90%。MemQ采用解耦存储与服务的架构,利用微批处理和不可变写入降低存储IOPS,优化云原生环境的性能。系统设计考虑了扩展性、独立读写和避免再平衡成本,旨在解决大规模分布式数据传输的挑战。
摘要由CSDN通过智能技术生成

 在这篇文章中,我们将会介绍 MemQ(发音为 mem - queue),它是一种用于 Pinterest 云端开发的高效可扩展 PubSub 系统,从 2020 年年中开始就为我们的近实时数据传输用例提供了支持,它是 Kafka 的一个补充,并且在成本效益方面高达 90%

历史

近十年来,Pinterest 一直依赖Apache Kafka作为唯一的 PubSub 系统。由于 Pinterest 的发展,数据的数量也在不断增加,因此,在运行一个超大规模的分布式 PubSub 平台上所面临的挑战也与日俱增。Apache Kafka 的规模化经营使我们对构建可扩展的 PubSub 系统有了深刻的认识。在深入研究了 PubSub 的运营和可扩展性之后,我们得到了如下主要的结论:

  1. 并非所有的数据集都要求亚秒级的延迟,延迟和成本应该成反比(更低的延迟应该花费更多的成本)。

  2. 为了实现基于资源的独立可扩展性,必须将 PubSub 系统中的存储和服务组件分离。

  3. 根据读而非写来进行排序,为特定的消费者用例提供所需的灵活性(对于同一数据集,不同的应用程序可能会有不同的需求)。

  4. 在大多数情况下,严格的分区排序在 Pinterest 是没有必要的,并且常常会带来可扩展性方面的问题。

  5. Kafka 中的再平衡成本很高,常常会造成性能的降低,并且会对已饱和的集群用户造成不利的影响。

  6. 在云环境中进行自定义复制会花费很大。

2018 年,我们对一个能够原生利用云计算的全新 PubSub 系统进行了测试。2019 年,我们开始正式探讨各种方案,以应对 Pinterest 的可扩展性,并基于运营成本以及现有技术的再设计成本,对各种 PubSub 技术进行了评估。最后得出的结论是,我们必须要有一个基于 Apache Kafka、 Apache Pulsar和 Facebook Logdevice 的 PubSub 技术,它是为了云计算而创建的。

MemQ 是一个新的 PubSub 系统,它加强了 Pinterest 的 Kafka。该系统采用了与 Apache Pulsar 和Facebook Logdevice 相类似的解耦存储与服务架构;但是,其主要依靠可插入式复制存储层,也就是对象存储/DFS/NFS 来存储数据。最后的结果就是一个 PubSub 系统:

  • 处理 GB/s 流量

  • 独立地扩展、写入和读取

  • 不需要昂贵的再平衡来处理流处理的增长

  • 比我们的 Kafka 足迹高出 90%

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值