写点什么

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

评论

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

Facebook工程经验--PCIe故障监控和修复

俞凡

架构 大厂实践

区块链+游戏资产所有权,将如何激活游戏经济的发展?

CECBC

阿里P8大佬亲自教你!2021Android进阶者的新篇章

欢喜学安卓

android 程序员 面试 移动开发

自建开发工具系列-Webkit内存动量监控UI(三)

Tim

MVP

性能测试框架对比初探

FunTester

性能测试 接口测试 测试框架 测试开发

性能框架哪家强—JMeter、K6、locust、FunTester横向对比

FunTester

性能测试 接口测试 测试框架 测试开发

网络攻防学习笔记 Day71

穿过生命散发芬芳

网络攻防 7月日更

高性能架构

编号94530

Java 架构设计 高性能

7款神器,让程序员幸福感暴增!

Jackpop

一文掌握Java TreeMap与HashMap

Jackpop

🏆【CI/CD技术专题】「Maven插件Docker系列」使用Maven插件构建Docker镜像的方法

码界西柚

Docker maven 7月日更 Plugin

Hadoop 入门教程

若尘

大数据 hadoop

以产业区块链提升数字化转型质量

CECBC

Go 学习笔记之 结构体

架构精进之路

Go 语言 7月日更

Apache Flink 漫谈系列 —— 概述

云祁

flink 7月日更

Goroutine 是如何运行的

Rayjun

调度器 Go 语言

极光开发者周刊【No.0709】

极光JIGUANG

模块八作业

Presley

市场总局禁止虎牙斗鱼合并:抵制互联网行业垄断行为

石头IT视角

模块八作业-设计消息队列存储消息数据的 MySQL 表格

张大彪

领域驱动设计到底在讲什么?

escray

学习 极客时间 7月日更 如何落地业务建模

架构实战训练营 - 模块八课后作业

Johnny

架构实战营

阿里P8大佬整理!2021最新阿里Android面试流程

欢喜学安卓

android 程序员 面试 移动开发

模块七作业-王者荣耀商城异地多活架构设计

张大彪

【极光笔记】iOS 15推送新特性初探

极光JIGUANG

你以为的你以为未必是你以为的

Bruce Talk

敏捷 随笔 Agile 引导和教练

Python OpenCV 之图像金字塔,高斯金字塔与拉普拉斯金字塔

梦想橡皮擦

7月日更

架构实战营 模块二作业

孫影

架构实战营 #架构实战营

10条让开发者受益终生的编码原则

Jackpop

Redis - Cluster - 源码阅读(二)

旺仔大菜包

redis

智能重排序在推荐场景中的应用(三十四)

Databri_AI

推荐系统 排序 智能

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