写点什么

Pinterest 使用 Kubernetes 和 Helix 构建下一代异步计算平台 Pacer

  • 2023-09-12
    北京
  • 本文字数:1119 字

    阅读完需:约 4 分钟

大小:796.61K时长:04:31
Pinterest使用Kubernetes和Helix构建下一代异步计算平台Pacer

Pinterest 推出其下一代异步计算平台 Pacer,用以取代旧的解决方案 Pinlater。随着公司的发展,Pinlater 在伸缩性和可靠性方面面临着挑战。新的架构使用 Kubernetes 来调度作业,使用 Apache Helix 来进行集群管理。


Pinterest 之前构建了一个异步作业执行平台Pinlater,并在几年前将其开源。Pinlater 已在生产环境中使用了多年,并支持许多关键的功能领域。Pinterest 在AWS EC2上运行了几个 Pinlater 集群,每分钟处理数百万个任务。


Pinterest 软件工程师Li QiChen Zhihuang解释了促使他们构建新平台的动机:


随着 Pinterest 在过去几年的增长和 Pinlater 流量的增加,我们发现 Pinlater 存在许多局限性,包括伸缩性瓶颈、硬件效率、缺乏隔离性和可用性。我们在平台方面也遇到了新的挑战,包括那些影响我们数据存储吞吐量和可靠性的挑战。


基于他们使用 Pinlater 的经历,团队意识到他们不可能在现有架构中解决所有已知的问题,于是他们决定构建下一代平台。


新的架构 Pacer 包含了一个无状态的Thrift API 服务(与 Pinlater 兼容)、一个数据存储(MySQL)、一个有状态的脱队列代理服务(Dequeue Broker),以及在Kubernetes上运行的作业执行 Worker 池。Apache Helix(带有Zookeeper)被用来将作业队列分区分配给脱队列代理。



Pacer 架构(来源:Pinterest工程博客


脱队列代理是一种有状态服务,负责从数据存储中预取作业队列数据并将其缓存到内存中,以减少延迟和隔离入队列和脱队列的工作负载。每个脱队列代理分配到一组作业队列分区,因此可以独占获取和执行作业,从而避免出现争用的情况。Kubernetes 为每个作业队列提供了一个专用的 Pod 池,消除因不同作业类型对资源倾斜消耗所带来的影响。


新的脱队列和执行模型缓解了 Pinlater 所遭遇的问题,包括在从热点分区获取数据时避免扫描所有分区或减少锁的争用。此外,它支持按照排队顺序(FIFO)的方式执行作业,前提是为作业队列配置单独的分区。


新的架构需要给脱队列代理实例进行独占式队列分区分配,与Kafka

消费者主题分区分配类似。Pinterest 的团队选择使用 Apache Helix 来实现这个功能。Apache Helix 提供了一个通用的集群管理框架,用于给集群内的脱队列代理进行分区分配。Helix 使用 Apache Zookeeper 实现嵌在脱队列代理实例中的 Helix 控制器和 Helix 代理之间的资源配置通信。



用 Apache Helix 和 Zookeeper 协调脱队列代理(来源:Pinterest工程博客


Helix 控制监控加入和离开集群的脱队列代理实例,以及对已配置的作业队列做出的任何变更,如果发生变更,它将重新计算理想的队列分区与代理分布。在最新的分区分配被保存到 Zookeeper 之后,各个代理实例就会更新它们的内部状态,并从它们负责的队列分区中获取数据。


查看英文原文https://www.infoq.com/news/2023/08/pinterest-pacer-kubernetes/

2023-09-12 16:304032

评论

发布
暂无评论
发现更多内容

疫情之后规模最大!武汉站Meetup,腾讯云与Elastic共绘ES在AI时代搜索技术新蓝图!

腾讯云大数据

ES

解决TaskPool中线程管理和XML解析问题的指南

彭康佳

和鲸101领航:同济MBA与和鲸共建数智人才培养计划

ModelWhale

大数据 数字化 同济大学MBA

怎么购买GPT4o?GPT4o买不了怎么办?GPT4o订阅银行卡教程

蓉蓉

openai gpt4o

生成式推荐系统与京东联盟广告-综述与应用

京东科技开发者

妙用OSGraph:发掘GitHub知识图谱上的开源故事

TuGraphAnalytics

GitHub tugraph antv osgraph x-lab

闲鱼商品详情API接口:获取与应用实战指南

Noah

携手知名律所,合合信息旗下名片全能王打造数字化名片“新范式”

合合技术团队

合合信息 数字名片 名片全能王

如何快速开发一个鸿蒙原生app

FinFish

HarmonyOS 小程序技术 小程序容器技术 鸿蒙app 鸿蒙原生应用开发

数字先锋| SaaS服务“拎包入住”?央企数字化转型体验感拉满!

天翼云开发者社区

云计算 数字化转型 SaaS平台

鸿蒙系统开发如何实现跨平台功能?

FN0

鸿蒙 跨平台 HarmonyOS 鸿蒙卡片

技术解读华为云CCE Autopilot,k8s集群托管免运维

华为云开发者联盟

Kubernetes 云原生 华为云 华为云开发者联盟 企业号2024年6月PK榜

五连冠!天翼云稳居中国专属云服务市场榜首!

天翼云开发者社区

云计算 云服务 IDC

大厂扎堆入驻鸿蒙,中小应用厂商怎么跟?

ToB行业头条

如何在鸿蒙系统中设置Image的按压态

彭康佳

android 华为 鸿蒙

关于web自动化过程中滑块解锁问题以及页面滚动的问题的研究

测试人

软件测试 自动化测试 测试开发

如何画一个系统的设计图

京东科技开发者

OceanBase 金融项目优化案例

不在线第一只蜗牛

金融 案例分享 优化 oceanbase

实现全国算力互联互通,我们是认真的!

天翼云开发者社区

云计算 算力

又一个小伙伴在深圳上车安家~

江南一点雨

PPT下载 | 构建数据价值高速路--DataOps的应用实践与前沿探索

数造万象

数据治理 数据开发 科技 DataOps

TDengine Open Day 成功举办:洞察技术革新与职场策略!

TDengine

数据库 tdengine 时序数据库

市值风云APP装机数百万,借助NineData实现数据高效流通

NineData

数据迁移 数据管理 迁移工具 NineData 市值风云

云消息队列 ApsaraMQ 成本治理实践(文末附好礼)

阿里巴巴云原生

阿里云 云原生 ApsaraMQ

如何使用华为NEXT模拟器进行应用开发

彭康佳

android 华为 鸿蒙

孤勇者80岁老教授40年打造国产数据库第一股,达梦开盘暴涨260%

NineData

数据库迁移 国产数据库 武汉达梦数据库 达梦上市 云数据库技术

极限网关助力好未来 Elasticsearch 容器化升级

极限实验室

elasticsearch 网关 极限网关 极限科技

开源数据库生态遇新变数,天翼云TeleDB提供企业数据管理更优解!

天翼云开发者社区

数据库 云计算 存储

解决DevEco Studio中的“Cannot find module”编译错误问题

彭康佳

android 鸿蒙

面试官:谈谈对SpringAI的理解?

王磊

Java 面试

Pinterest使用Kubernetes和Helix构建下一代异步计算平台Pacer_云原生_Rafal Gancarz_InfoQ精选文章