50万奖金+官方证书,深圳国际金融科技大赛正式启动,点击报名 了解详情
写点什么

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

评论

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

关于风险管理,如何将思维从项目升维到项目群?

光环PMO社群

项目管理 项目经验

CODING 项目协同 2.0 —— 让协作有条不紊

CODING DevOps

DevOps 研发管理 CODING 项目协同

这一次,飞书改变「飞书」

ToB行业头条

太顶了!华为高工用一份423页的网络协议笔记把计算机网络讲清了

热爱java的分享家

Java 面试 程序人生 网络协议 经验分享

Shopee 末端物流智能提效之路

Shopee技术团队

人工智能 算法 后端 供应链 物流

CSS布局(二)之多列布局

Augus

CSS 11月日更

渗透实战:内网域渗透

网络安全学海

网络安全 信息安全 渗透测试 WEB安全 安全漏洞

百万关注的CSRF攻击是什么意思?

喀拉峻

黑客 网络安全 安全 信息安全

阿里P8手敲出来这份565页凤凰架构分布式手册,惨遭GitHub直接封杀

热爱java的分享家

Java 面试 编程语言 经验分享 凤凰架构

架构师书籍推荐:2021年必看的架构师图书

华章IT

架构师

等级保护对象是指什么?是指整个单位吗?

行云管家

云计算 网络安全 等保 等级保护 等保2.0

.Net6 miniAPI JWT鉴权授权的多种实现

面向对象的猫

netcore NET6

盲盒开发

Go语言学习查缺补漏ing Day4

Regan Yue

Go 语言 11月日更

前端如何低门槛开发iOS、Android、小程序多端应用

YonBuilder低代码开发平台

【语言】Java 日期 API 的使用技巧

恒生LIGHT云社区

Java 编程语言

云账户是什么意思?有什么用?

行云管家

云计算 公有云 私有云 混合云 云资源

springboot连接Nexus私服

小鲍侃java

11月日更

TDengine助力顺丰科技大数据监控改造

TDengine

tdengine 时序数据库

人脸识别实战:使用Python OpenCV 和深度学习进行人脸识别

AI浩

人脸识别

ArkUI 3.0让多设备开发更简单|HDC2021技术分论坛

HarmonyOS开发者

HarmonyOS

ICCV 2021口罩人物身份鉴别全球挑战赛冠军方案分享

阿里云CloudImagine

阿里云 计算机视觉 视频云 ICCV2021 ICCV

修复SecurityException: getDataNetworkTypeForSubscriber问题

Changing Lin

11月日更

主客体命名法

少个分号

模块四课后作业 - 设计千万级学生管理系统的考试试卷存储方案

渐行渐远

架构实战营

React性能优化

CRMEB

一文解析数据库的三生三世

Zilliz

数据库 oracle 数据库设计 Milvus

热爱代码且发量惊人,一名反“内卷”研发工程师的日常

尔达Erda

程序员 开发者 技术人生 成长笔记

赋能“数字金融”,CODING 再下数城

CODING DevOps

研发管理 数字化转型 CI/CD 代码管理 可视化软件

使用命令模式重构播放器控制条

Tom弹架构

Java 架构 设计模式

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