微博 Feed 架构
2015-08-31 22:42
706 查看
最近看到了很多关于新浪微博Feed的文章,现在整理总结一下。如果有在新浪微博工作的朋友可以在下面留言,我们一起学习讨论一下。谢谢。
新浪微博作为当今中国最大的社交媒体平台,每天都有上亿人访问。而Feed作为微博最为核心的功能,每天有高达数十亿的请求,高峰期每秒的请求量上万。如何设计高可用的Feed系统,来应对如此高并发的访问,才是我们应该学习的。
如何聚合关注用户发表的微博
发博峰值高:几万/s
并发访问量大:几万/s
访问热点集中:最近三天占99%
并发读QPS:几百万/s:Memcached、Redis
最近三天热点数据:Memcached
实现方案
Memcached存储最近三天热点数据、MySQL存储全量数据
按访问时间维度来分表
读写分离
backup离线灾备
mvl:存储用户最近200条。
缺点:写少读多,网络开销大,资源读取量大
缺点:写入成本较高,资源写瓶颈高
智能Feed
实时反馈
消息架构
可插拔
cell模型
新浪微博作为当今中国最大的社交媒体平台,每天都有上亿人访问。而Feed作为微博最为核心的功能,每天有高达数十亿的请求,高峰期每秒的请求量上万。如何设计高可用的Feed系统,来应对如此高并发的访问,才是我们应该学习的。
一 初探Feed-What is feed?
Feed是指为满足用户以某种形式持续获得更新信息的需求而提供的格式标准的信息出口。1、PC Feed
2、mobile feed
新浪微博体系中,Feed是指用户通过关注关系,聚合好友最新微博以供自己消费的信息服务,其中也包括分享微博。分享
倾听
看新闻
围观
二、Feed业务体系
1、微博
2、page
3、Card
4、计数器
5、未读数、话题、分组、转评赞、广告和趋势
三、Feed系统架构设计
1. 如何设计一个高可用的Feed系统?
如何存储用户发表的微博如何聚合关注用户发表的微博
2. Feed存储
Feed特征
每天发博量大:上亿条发博峰值高:几万/s
并发访问量大:几万/s
访问热点集中:最近三天占99%
存储选型
存储特点
持久化:MySQL、Redis、HBase并发读QPS:几百万/s:Memcached、Redis
最近三天热点数据:Memcached
实现方案
Memcached+MySQL
Memcached存储最近三天热点数据、MySQL存储全量数据3、Feed存储-MySQL
分库分表
按访问用户维度hash来分库按访问时间维度来分表
部署形式
一主多从读写分离
HA
主从机制、自动切换backup离线灾备
4、Feed存储-Memcached
高可用性架构
业务架构
mvd:存储用户最近15天50条。mvl:存储用户最近200条。
5、Feed聚合
拉模型
优缺点
优点:架构简单、一致性好、写入过程开销小缺点:写少读多,网络开销大,资源读取量大
推模型
优缺点
优点:下行网络开销小,资源成本低缺点:写入成本较高,资源写瓶颈高
四 未来
业务发展
分发控制智能Feed
实时反馈
架构发展
存储架构消息架构
可插拔
cell模型
相关文章推荐
- 如何通过外网访问局域网地址
- 简述节点流和处理流的区别,以及Java流式输入输出的架构特点
- 浅谈iOS中MVVM的架构设计与团队协作
- 49个权威的网上学习资源网站
- Netty 架构
- 网站盗链
- 好用的在线工具类网站
- 从学习到接单赚钱 十大网络技术人员推荐收藏的网站
- 大型网站图片服务器架构的演进
- 如何快速提高网站关键词排名(实战篇)
- 小组ITalk网站开发中使用到的一些技巧
- 织梦DedeCMS实现 三级栏目_二级栏目_一级栏目_网站名称 的效果代码
- Android5.0源码-国内镜像网站上用repo下载
- 怎么分析竞争对手提高网站排名?
- 一个实用的android框架——架构
- rabbitmq在高可用HA方面的方案总结
- ov9650摄像头驱动之——linux内核v4l2架构分析3
- ov9650摄像头驱动之——linux内核v4l2架构分析2
- ov9650摄像头驱动之——linux内核v4l2架构分析1
- iisexpress局域网内调试网站