您好,匿名用户
随意问技术百科期待您的加入

各大微博网站为什么要设置关注人数上限

0 投票

用过微博和twitter发现都会设置一个2000人数的上限,不知道时基于什么考虑要设置这样一个上限,是怕关注的人太多,信息量太大刷不过来,还是基于系统性能上的限制考虑的呢?

用户头像 提问 2012年 12月1日 @ Kog'Maw 上等兵 (212 威望)
分享到:

1个回答

0 投票
 
最佳答案

之前在新浪微博工作过。产品上层面的问题我没研究(比如Twitter 早期是否也有类似限制),系统性能肯定是需要考虑的因素之一,我就从这个角度说明一下。

关注关系是用关系型数据库存储的,光从数据的数量级上来讲,如果不设置上限,理论上1亿的用户,最多会产生 1亿 x 1亿 的记录数,而且对活跃用户而言,关注关系没有冷数据,不能根据时间做sharding。(相对而言,一年之前发的微博,就很少会有人去访问。)

最早的时候,feed(用户的timeline)是通过推送的方式聚合的,你每发从一条微博,都会在后台把这个微博推送到你所有粉丝的 feed 队列。于是,苍老师发一条微博,就会让服务器产生大量的计算以及数据读写。这种方式叫做 push (推)。

后来大家认为这样会产生大量不必要的服务器消耗,比如把feed 推给离线用户,是没有太大意义的。然后改,改成用户第一次上线时 pull(拉),随后push(于是不需要push 到离线用户了)。pull 的意思就是,从你关注的所有人中把最新的 500 条 feed 找出来。这种方式下,如果不设置关注人数限制,比如你关注了 10w 人,那你今天早晨起床开微博,肯定会慢得想骂人。

用户头像 回复 2012年 12月1日 @ Rumble 上等兵 (394 威望)
选中 2012年 12月1日 @Kog'Maw
提一个问题:

相关问题

0 投票
1 回复 28 阅读
0 投票
1 回复 36 阅读
用户头像 提问 2012年 12月1日 @ Wukong 上等兵 (475 威望)
0 投票
1 回复 46 阅读
用户头像 提问 2012年 12月1日 @ Ryze 上等兵 (293 威望)
0 投票
1 回复 52 阅读
用户头像 提问 2012年 12月1日 @ Demeter 上等兵 (208 威望)

欢迎来到随意问技术百科, 这是一个面向专业开发者的IT问答网站,提供途径助开发者查找IT技术方案,解决程序bug和网站运维难题等。
温馨提示:本网站禁止用户发布与IT技术无关的、粗浅的、毫无意义的或者违法国家法规的等不合理内容,谢谢支持。

欢迎访问随意问技术百科,为了给您提供更好的服务,请及时反馈您的意见。
...