10 月 23 - 25 日,QCon 上海站即将召开,现在购票,享9折优惠 了解详情
写点什么

构建动态并响应实时用户行为的 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:041695

评论

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

虚拟机性能监控与故障处理

Joseph295

失败与成功是一体两面

石云升

学习笔记 28天写作 12月日更

.NET6新东西--PriorityQueue

喵叔

28天写作 12月日更

面试高频考点:hashCode与equals

xcbeyond

Java equals vs hashcode 28天写作 12月日更

2021,中国计算产业的“攀登者勋章”

脑极体

VUE 3.0 源码 rollup.config.js 对不同类型输出文件的注释

老罗

VUE 3.0 源码解析

Golang中不一样的switch用法

liuzhen007

28天写作 12月日更

元宇宙100讲-0x008

hackstoic

元宇宙

24《重学JAVA》--多线程(一)

杨鹏Geek

Java25周年 28天写作 12月日更

第三周作业

lv

Code Review全面审查清单

俞凡

Code Review 生产力

55 K8S之Prometheus监控步骤

穿过生命散发芬芳

k8s 28天写作 12月日更

收藏GitHub上的7个热门TypeScript项目

devpoint

typescript Grafana Storybook 12月日更

🍃【Spring专题】「开发实战」Spring Security与JWT实现权限管控以及登录认证指南

码界西柚

spring spring security springsecurity 12月日更

Gin-Vue-Admin 使用 gin+vue 进行极速开发的全栈开发基础平台【gva 第二节】

坚果

28天写作 Vue 3 Go 语言 12月日更

元宇宙100讲-0x009

hackstoic

元宇宙

2021年终总结:30多岁依然没有放弃自我成长!

王磊

谨防做 Yes Man

搬砖的周狮傅

管理 思考

使用 RED 方法分析服务的瓶颈

耳东@Erdong

28天写作 12月日更 RED 方法

所谓默契,最不靠谱(25/28)

赵新龙

28天写作

疫情下的圣诞节

张老蔫

28天写作

再论学习

将军-技术演讲力教练

语音信号数字化

轻口味

28天写作 12月日更

如何设置Fiddler来拦截Java代码发送的HTTP请求,进行各种问题排查

汪子熙

HTTP fiddler 28天写作 网络抓包 12月日更

webpack-dev-server启动后, localhost:8080返回index.html的原理

汪子熙

JavaScript 前端开发 webpack 28天写作 12月日更

宏昆酒店集团携手DataPipeline打造实时数据融合平台,酒店业精益管理的新秘诀

DataPipeline数见科技

数据库 中间件 数据同步 数据融合 数据管理

模块三作业-学生管理系统架构文档

曾竞超

架构实战营 「架构实战营」

架构训练营 week3 学习总结

红莲疾风

「架构实战营」

华为技术专家深度解析Redis惰性删除原理

JavaEdge

12月日更

Velocity.js:一个简单易用、高性能、功能丰富的轻量级JS动画库

devpoint

Vue3 vuex 12月日更 Velocity.js

通过ip查询域名信息

喀拉峻

网络安全 渗透测试·

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