微博中的时间线功能应该怎么设计数据结构
看到过一些技术文章的介绍,但是对一些技术细节都没有很好的解释。比如说现在时间线有两种设计模式,一种是推,一种是拉。
推的方式比较省读取时间,也就是说你发一条微博就就会把你的这条信息推送到你所有粉丝的节点上。我的疑问是
- 这样会不会太慢了,很多明星会员都有几百万的粉丝,而他们又喜欢刷屏,比如苍老湿。那这样发送系统受得了吗。
- 当我们unfollow一个用户的时候,怎么把这些用户关联的信息从我们的收听节点删掉呢,一条一条过滤吗是不是太慢了
拉的方式比较省写入时间,反正你要写的就是你自己的节点。但我很怀疑这种实现是否现实,最大的就是读取速度的问题,在现有数据库系统下我还没有找到一种合适的结构来让读取更加快速,除非有一种特殊的数据库来解决这个问题。比如说现在兴起一种图数据库,据说很适合解决sns里面的关系问题,不知道能否解决这个问题。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
上面两位回答的都比较好了,像weibo.com和twwiter这样的网站,肯定是用你说的推方式了。
至于删除与修改,ACE讲的对,推送的是个消息ID。
新浪微博的技术经理TimYang有个PPT是讲这些细节的,你可以去看看:http://static.slidesharecdn.com/swf/s...