首页 > 微博中的时间线功能应该怎么设计数据结构

微博中的时间线功能应该怎么设计数据结构

看到过一些技术文章的介绍,但是对一些技术细节都没有很好的解释。比如说现在时间线有两种设计模式,一种是推,一种是拉。

推的方式比较省读取时间,也就是说你发一条微博就就会把你的这条信息推送到你所有粉丝的节点上。我的疑问是

  1. 这样会不会太慢了,很多明星会员都有几百万的粉丝,而他们又喜欢刷屏,比如苍老湿。那这样发送系统受得了吗。
  2. 当我们unfollow一个用户的时候,怎么把这些用户关联的信息从我们的收听节点删掉呢,一条一条过滤吗是不是太慢了

拉的方式比较省写入时间,反正你要写的就是你自己的节点。但我很怀疑这种实现是否现实,最大的就是读取速度的问题,在现有数据库系统下我还没有找到一种合适的结构来让读取更加快速,除非有一种特殊的数据库来解决这个问题。比如说现在兴起一种图数据库,据说很适合解决sns里面的关系问题,不知道能否解决这个问题。


上面两位回答的都比较好了,像weibo.com和twwiter这样的网站,肯定是用你说的推方式了。
至于删除与修改,ACE讲的对,推送的是个消息ID。

新浪微博的技术经理TimYang有个PPT是讲这些细节的,你可以去看看:http://static.slidesharecdn.com/swf/s...

【热门文章】
【热门文章】