写点什么

构建动态并响应实时用户行为的 Pinterest

  • 2019-09-07
  • 本文字数:1000 字

    阅读完需:约 3 分钟

构建动态并响应实时用户行为的Pinterest

ArchSummit北京2018大会上,刘波讲师做了《构建动态并响应实时用户行为的 Pinterest》主题演讲,主要内容如下。


演讲简介


Pinterest 的使命是帮助用户发现并尝试他们喜爱的事物。在过去的三年里,Pinterest 的系统架构发生了巨大的改变。三年前,绝大部分 Pinterest 产品的内容都是由离线 Job 预先生成。目前,Pinterest 通过各类产品所展现给用户的内容全部经由后台系统在线生成,并且能够自动的根据用户实时行为进行动态调整。另外,过去三年高速增长的用户数量和产品复杂度也对系统提出了更苛刻的需求。


本次演讲将介绍 Pinterest 系统在过去三年里的演进过程,展示当前整体系统的架构。该架构对内容分发型互联网产品将具有借鉴意义。另外,本演讲将着重介绍其中几个主要系统的架构设计与技术难点,例如机器学习模型在线 Serving Platform 的架构设计,RocksDB 的实时数据复制,机器学习模型的 CPU 性能优化等。


演讲提纲


  1. Pinterest 的几类主要产品(Following Feed、推荐和 Topic Feed 等)

  2. 支撑这些产品的一系列系统在过去三年里的演进过程

  3. 机器学习模型在线 Serving Platform 的架构

  4. RocksDB 的实时数据复制策略

  5. 有状态服务的应用层集群管理

  6. 一些解决过的技术难点和踩过的坑


听众受益点


  1. 大规模内容分发型互联网产品整体架构设计经验

  2. 机器学习模型在线 Serving Platform 的架构设计经验

  3. 基于单机存储引擎(如 RocksDB)搭建各类大规模在线分布式有状态服务系统的经验


讲师介绍


刘波


Pinterest 基础架构部软件工程经理


现就职于基础架构部门,具有丰富的大规模在线分布式数据系统的设计与开发经验。从零开始设计并开源了 Pinterest 的 C++ 核心库 Rocksplicator(包含实时数据复制,应用层集群自动管理,底层客户端库,弹性路由,统计报告等)。在 Rocksplicator 的基础上,他带领团队设计并开发了十余个应用于不同场景的分布式系统,包括机器学习模型在线 Serving Platform,基于 RocksDB 的 Feed 系统、Counter 系统、实时用户事件 tracking 系统, KV 系统等。这些系统为绝大部分 Pinterest 产品提供服务,包括 Homefeed、广告、搜索、推荐、增长、Spam 检测等。


加入 Pinterest 之前,刘波曾在 Facebook 开发分布式图数据库系统 TAO。TAO 负责整个 Facebook 社交图的存储与在线访问,支持超过 100 亿每秒的请求。刘波在获得博士学位后做过一段时间的教学和学术研究工作。












完整演讲 PPT 下载链接


https://archsummit.infoq.cn/2018/beijing/schedule


2019-09-07 08:041685

评论

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

ChatGPT搜索与推荐之间的匹配问题

图灵教育

搜索引擎 深度学习‘’ ChatGPT

Cadence Allegro如何通过Excel表格创建元器件?

华秋PCB

科普 硬件 元器件

前端leetcde算法面试套路之二叉树

js2030code

JavaScript LeetCode

Apache Flink 实时计算在美的多业务场景下的应用与实践

Apache Flink

大数据 flink 实时计算

ChatGPT搜索与推荐之间的匹配问题

图灵社区

搜索引擎 深度学习‘’ ChatGPT

ChatGPT会对开发领域有何影响?

FinFish

AI AIGC ChatGPT

预告|第四届OpenI/O启智开发者大会NLP大模型论坛强势来袭!

OpenI启智社区

人工智能 NLP 大模型 开发者大会 OpenI启智社区 ChatGPT

ChatGPT背后:从0到1,OpenAI的创立之路

OneFlow

人工智能 深度学习 openai ChatGPT

比较简单的ChatGPT体验攻略!

没有用户名丶

用javascript分类刷leetcode22.字典树(图文视频讲解)

js2030code

JavaScript LeetCode

ThreadPoolExecutor源码细节探索

Java 多线程 线程池 ThreadPoolExecutor

会议总结 | 首次 Flink Batch 社区开发者会议

Apache Flink

大数据 flink 实时计算

react源码中的fiber架构

flyzz177

React

前端leetcde算法面试套路之双指针

js2030code

JavaScript LeetCode

有趣,在WSL2上运行VSCode

吴脑的键客

vscode WSL2

RabbitMQ的高可用和高可靠

Java 高可用 RabbitMQ 消息中间件

react源码中的协调与调度

flyzz177

React

保持热爱,奔赴山海:Apache Calcite PMC 之路

字节跳动开源

flink 开源 技术 社区 Apache Calcite

大咖说·阿里云云效|效能治标不治本的三个陷阱的解析

大咖说

横空出世!IDEA 版 API 接口神器来了,一键生成文档!

Liam

Java 后端 IDEA Java 分布式 API文档

react源码中的hooks

flyzz177

React

ChatGPT能做什么?(内附体验攻略)

FinFish

AI工程化 ChatGPT

时代背景下的 ChatGPT,到底能帮助开发者做什么呢?

泰罗凹凸曼

JavaScript ChatGPT

流批一体架构在快手的实践和思考

Apache Flink

大数据 flink 实时计算

GitHub典藏版!腾讯T14级牛人亲码的分布式数据库实践,再次爆火

Java 数据库 分布式

直播预告 | 嵌入式BI如何将数据分析真正融入业务流程

葡萄城技术团队

大咖齐聚!OpenHarmony技术峰会豪华嘉宾阵容揭晓

OpenHarmony开发者

OpenHarmony

Teradata 离场,企业数据分析平台如何应对变革?

Kyligence

数据分析 指标中台

通过 Istio、eBPF 和 RSocket Broker 深入探索服务网格

Kian.Lee

istio cncf ebpf sidecar-free rsocket

构建动态并响应实时用户行为的Pinterest_最佳实践_刘波_InfoQ精选文章