Enviar pesquisa
Carregar
微博架构Ppt
•
9 gostaram
•
1,538 visualizações
zubin Jiang
Seguir
Economia e finanças
Denunciar
Compartilhar
Denunciar
Compartilhar
1 de 31
Baixar agora
Baixar para ler offline
Recomendados
分布式Key Value Store漫谈
分布式Key Value Store漫谈
Tim Y
新浪微博Feed服务架构
新浪微博Feed服务架构
XiaoJun Hong
对MySQL的一些改进想法和实现
对MySQL的一些改进想法和实现
Lixun Peng
Mesos intro
Mesos intro
dennis zhuang
一个 Mongodb command 的前世今生
一个 Mongodb command 的前世今生
dennis zhuang
MySQL多机房容灾设计(with Multi-Master)
MySQL多机房容灾设计(with Multi-Master)
Lixun Peng
A
A
lonegunman
大数据时代feed架构 (ArchSummit Beijing 2014)
大数据时代feed架构 (ArchSummit Beijing 2014)
Tim Y
Recomendados
分布式Key Value Store漫谈
分布式Key Value Store漫谈
Tim Y
新浪微博Feed服务架构
新浪微博Feed服务架构
XiaoJun Hong
对MySQL的一些改进想法和实现
对MySQL的一些改进想法和实现
Lixun Peng
Mesos intro
Mesos intro
dennis zhuang
一个 Mongodb command 的前世今生
一个 Mongodb command 的前世今生
dennis zhuang
MySQL多机房容灾设计(with Multi-Master)
MySQL多机房容灾设计(with Multi-Master)
Lixun Peng
A
A
lonegunman
大数据时代feed架构 (ArchSummit Beijing 2014)
大数据时代feed架构 (ArchSummit Beijing 2014)
Tim Y
How svn work_and_how_to_use
How svn work_and_how_to_use
Bin Feng
高性能队列Fqueue的设计和使用实践
高性能队列Fqueue的设计和使用实践
孙立
静态项目管理工具 - opm
静态项目管理工具 - opm
goto100
Servlet & JSP 教學手冊第二版 - 第 11 章:簡介 JavaMail
Servlet & JSP 教學手冊第二版 - 第 11 章:簡介 JavaMail
Justin Lin
漫画背后的故事
漫画背后的故事
长洪 余
Database.Cache&Buffer&Lock
Database.Cache&Buffer&Lock
Lixun Peng
Leveldb background
Leveldb background
宗志 陈
java title
java title
lonegunman
Build scalable microblog qcon beijing 2010
Build scalable microblog qcon beijing 2010
Tim Y
移动搜索在慢网速下的优化
移动搜索在慢网速下的优化
Charlee Green
Maven & mongo & sring
Maven & mongo & sring
Tzu Chi University
Ch11 簡介JavaMail
Ch11 簡介JavaMail
Justin Lin
Google LevelDB Study Discuss
Google LevelDB Study Discuss
everestsun
豆瓣网技术架构变迁
豆瓣网技术架构变迁
reinhardx
Hacking Nginx at Taobao
Hacking Nginx at Taobao
Joshua Zhu
MassTransit
MassTransit
shengyan cheng
[DCTPE2011] 8) 多伺服器/高效能的Drupal 主機解決方案--James Liu
[DCTPE2011] 8) 多伺服器/高效能的Drupal 主機解決方案--James Liu
Drupal Taiwan
Bypat博客出品-服务器运维集群方法总结
Bypat博客出品-服务器运维集群方法总结
redhat9
Level db
Level db
宗志 陈
构建可扩展的微博系统
构建可扩展的微博系统
lonegunman
Php study.20130110
Php study.20130110
bngoogle
20111018 zhouchen share
20111018 zhouchen share
zcbug
Mais conteúdo relacionado
Mais procurados
How svn work_and_how_to_use
How svn work_and_how_to_use
Bin Feng
高性能队列Fqueue的设计和使用实践
高性能队列Fqueue的设计和使用实践
孙立
静态项目管理工具 - opm
静态项目管理工具 - opm
goto100
Servlet & JSP 教學手冊第二版 - 第 11 章:簡介 JavaMail
Servlet & JSP 教學手冊第二版 - 第 11 章:簡介 JavaMail
Justin Lin
漫画背后的故事
漫画背后的故事
长洪 余
Database.Cache&Buffer&Lock
Database.Cache&Buffer&Lock
Lixun Peng
Leveldb background
Leveldb background
宗志 陈
java title
java title
lonegunman
Build scalable microblog qcon beijing 2010
Build scalable microblog qcon beijing 2010
Tim Y
移动搜索在慢网速下的优化
移动搜索在慢网速下的优化
Charlee Green
Maven & mongo & sring
Maven & mongo & sring
Tzu Chi University
Ch11 簡介JavaMail
Ch11 簡介JavaMail
Justin Lin
Google LevelDB Study Discuss
Google LevelDB Study Discuss
everestsun
豆瓣网技术架构变迁
豆瓣网技术架构变迁
reinhardx
Hacking Nginx at Taobao
Hacking Nginx at Taobao
Joshua Zhu
MassTransit
MassTransit
shengyan cheng
[DCTPE2011] 8) 多伺服器/高效能的Drupal 主機解決方案--James Liu
[DCTPE2011] 8) 多伺服器/高效能的Drupal 主機解決方案--James Liu
Drupal Taiwan
Bypat博客出品-服务器运维集群方法总结
Bypat博客出品-服务器运维集群方法总结
redhat9
Level db
Level db
宗志 陈
Mais procurados
(19)
How svn work_and_how_to_use
How svn work_and_how_to_use
高性能队列Fqueue的设计和使用实践
高性能队列Fqueue的设计和使用实践
静态项目管理工具 - opm
静态项目管理工具 - opm
Servlet & JSP 教學手冊第二版 - 第 11 章:簡介 JavaMail
Servlet & JSP 教學手冊第二版 - 第 11 章:簡介 JavaMail
漫画背后的故事
漫画背后的故事
Database.Cache&Buffer&Lock
Database.Cache&Buffer&Lock
Leveldb background
Leveldb background
java title
java title
Build scalable microblog qcon beijing 2010
Build scalable microblog qcon beijing 2010
移动搜索在慢网速下的优化
移动搜索在慢网速下的优化
Maven & mongo & sring
Maven & mongo & sring
Ch11 簡介JavaMail
Ch11 簡介JavaMail
Google LevelDB Study Discuss
Google LevelDB Study Discuss
豆瓣网技术架构变迁
豆瓣网技术架构变迁
Hacking Nginx at Taobao
Hacking Nginx at Taobao
MassTransit
MassTransit
[DCTPE2011] 8) 多伺服器/高效能的Drupal 主機解決方案--James Liu
[DCTPE2011] 8) 多伺服器/高效能的Drupal 主機解決方案--James Liu
Bypat博客出品-服务器运维集群方法总结
Bypat博客出品-服务器运维集群方法总结
Level db
Level db
Semelhante a 微博架构Ppt
构建可扩展的微博系统
构建可扩展的微博系统
lonegunman
Php study.20130110
Php study.20130110
bngoogle
20111018 zhouchen share
20111018 zhouchen share
zcbug
Comment System of 56.com
Comment System of 56.com
Ho Kim
新浪微博平台与安全架构
新浪微博平台与安全架构
n716
Ch03 請求與回應
Ch03 請求與回應
Justin Lin
My sql 5.6新特性深入剖析——innodb引擎
My sql 5.6新特性深入剖析——innodb引擎
frogd
HTML 語法教學
HTML 語法教學
Shengyou Fan
大众点评网的技术变迁之路
大众点评网的技术变迁之路
jeffz
[.Net开发交流会][2010.06.19]大众点评网的技术变迁之路(王宏)
[.Net开发交流会][2010.06.19]大众点评网的技术变迁之路(王宏)
Shanda innovation institute
MySQL自动切换设计与实现
MySQL自动切换设计与实现
orczhou
主库自动切换 V2.0
主库自动切换 V2.0
jinqing zhu
从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰
从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰
Scourgen Hong
Feed服务架构-新浪微博新员工培训议题
Feed服务架构-新浪微博新员工培训议题
XiaoJun Hong
OPM
OPM
goto100
Angular 开发技巧 (2018 ngChina 开发者大会)
Angular 开发技巧 (2018 ngChina 开发者大会)
Will Huang
1到100000000 - 分布式大型网站的架构设计
1到100000000 - 分布式大型网站的架构设计
RolfZhang
构建可扩展的微博系统
构建可扩展的微博系统
airsex
2011新版首页总结 技术篇
2011新版首页总结 技术篇
传贵 谢
淘宝网前台应用性能优化实践
淘宝网前台应用性能优化实践
丁 宇
Semelhante a 微博架构Ppt
(20)
构建可扩展的微博系统
构建可扩展的微博系统
Php study.20130110
Php study.20130110
20111018 zhouchen share
20111018 zhouchen share
Comment System of 56.com
Comment System of 56.com
新浪微博平台与安全架构
新浪微博平台与安全架构
Ch03 請求與回應
Ch03 請求與回應
My sql 5.6新特性深入剖析——innodb引擎
My sql 5.6新特性深入剖析——innodb引擎
HTML 語法教學
HTML 語法教學
大众点评网的技术变迁之路
大众点评网的技术变迁之路
[.Net开发交流会][2010.06.19]大众点评网的技术变迁之路(王宏)
[.Net开发交流会][2010.06.19]大众点评网的技术变迁之路(王宏)
MySQL自动切换设计与实现
MySQL自动切换设计与实现
主库自动切换 V2.0
主库自动切换 V2.0
从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰
从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰
Feed服务架构-新浪微博新员工培训议题
Feed服务架构-新浪微博新员工培训议题
OPM
OPM
Angular 开发技巧 (2018 ngChina 开发者大会)
Angular 开发技巧 (2018 ngChina 开发者大会)
1到100000000 - 分布式大型网站的架构设计
1到100000000 - 分布式大型网站的架构设计
构建可扩展的微博系统
构建可扩展的微博系统
2011新版首页总结 技术篇
2011新版首页总结 技术篇
淘宝网前台应用性能优化实践
淘宝网前台应用性能优化实践
微博架构Ppt
1.
微博cache设计谈
@TimYang 新浪内部培训资料
2.
Agenda •Feed架构简介 • 微博Cache设计 • 微博架构经验谈
3.
微博技术的核心 • 数据的分发、聚合及展现 • 每条微博,
在技术上也称为status或feed •如 •
4.
Feed架构 • 微博两种feed设计模式 •
Push(推) • Pull(拉) • 复合型
5.
Push • 将feed比喻成邮件 •
Inbox: 收到的微博 • Outbox: 已发表微博 • 发表:存到所有粉丝inbox(重) • 查看:直接访问Inbox(轻) • Offline computation
6.
Push • 优点:实现简单,首选 • 缺点:分发量 •
7.
Pull • 发表:存到自己outbox(轻) • 查看:取所有关注对象Inbox(重) •
Online computation
8.
Pull • 优点:节约存储 • 缺点:计算量大,峰值问题
9.
共同的难题 • 峰值挑战 • 我们使用异步处理方式 •
10.
Cache memory is the
new disk, and disk is the new tape. for "real-time" web applications, and systems that require massive scalability - Jim Gray
11.
Cache设计 决定了一个微博系统的优劣
12.
微博cache架构
Weibo cache arch Inbox hot cache Outbox Vector cache Archive cache Social Following Followers users Graph Content Hot cache Total
13.
Inbox • 微博中“我的首页” • cache
内容为 id list • 只为在线用户设置(hot cache) • 添加新元素需要先get再set • 可用redis list/set
14.
Outbox • 我发出的微博 • 最新的id
list(e.g. 100) 用于聚合 • 历史id LRU
15.
Social Graph cache •
Following ids • Followers加载开销比较大 • 上百万粉丝 • 越大的集合越容易变更 • 改变则需delete all • 减少使用followers list场景
16.
Content cache • 微博内容体cache •
热内容 • 多份,防止单点访问瓶颈 • 最终格式预生成 • Open API需要返回xml, json...格式
17.
Cache流程 • 发表 • 首页展现
18.
发表流程
Update Workflow Update status Content cache Hot Inbox Vector Outbox vector Content cache replication
19.
发表流程 • 修改outbox hot
vector • 加载followers list • 修改inbox列表
20.
首页feed
Home timeline Workflow home_timeline aggregator Content hot Inbox cache Outbox Vector cache Inbox archive Inbox archive Content cache
21.
获取首页feed流程 • 检查inbox cache是否可用 •
获取关注列表 • 聚合内容, 从 following 关系 • 根据id list返回最终feed聚合内容
22.
cache经验谈 • 流量、带宽 • hot
keys • 规划 • mutex
23.
流量 • 以打开首页时候获取Content cache为例 •
multi get n 条feed(n = items/页, e.g. 50) • cache 大小 = n * (feed长度 + 扩展字段, e.g. 2k) • 并发请求,如 1,000次/秒 • 总流量 = 50 * 2k * 1,000 / sec = 100MB
24.
带宽 • 1,000并发,需要800Mbps带宽 • 1万并发,需要8Gbps
内网流量
25.
带宽 • 在1G内网,只能压力到 300~400Mbps •
需要优化 • 将热门数据加载到local cache • 压缩 • 复制
26.
hot keys • content
cache of 姚晨 • create local cache 1. get user_yaochen_local 2. get user_yaochen 1. set user_yaochen_local:value 3. 删除时需要delete all
27.
cache 规划 • 将不同业务、不同长度的key存储到不同
的memcache池 • 不同的业务有不同的生命周期 • LRU cache, 小量 • Memory storage,大部分 • 更高效的内存利用
28.
mutex • 姚晨的content item未cache
• 每线程需要从db加载数十条微博数据 • 上千个并发线程同时穿透到db • key_mutex 先添加成功,再更新key • mutex 失败则等待,重试 • 添加结束,删除mutex
29.
• 微博架构经验谈 •
业务耦合风险 • 架构less is more • 核心代码
30.
• 技术交流 •
code review流程 • 技术交流方式
31.
• Q&A • weihua2@staff.sina.com.cn
Baixar agora