您的位置:首页 > 运维架构 > 网站架构

微博 Feed 架构

2015-08-31 22:42 706 查看
最近看到了很多关于新浪微博Feed的文章,现在整理总结一下。如果有在新浪微博工作的朋友可以在下面留言,我们一起学习讨论一下。谢谢。

新浪微博作为当今中国最大的社交媒体平台,每天都有上亿人访问。而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模型
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: