正式13-timeline实现

timeline跟传统网站的挑战在于每个人看到的都不同,
给每一个人实时生成他所感兴趣的时期。
timeline技术上的实现,推拉模式
flyweight    享元模式

feed流
推拉模式:
推的定义:事件触发后广播给所有的粉丝。
优缺点:对于粉丝过多的事件后台压力大,浪费存储空间。

拉的定义:登录打开页面的时候根据关注的实体动态生成timeline内容。
优缺点:读取压力小,存储空间小

推拉的定义:活跃/在线用户推,
其他用户拉

优缺点:降低存储空间,又满足大部分用户的读取需求。

新鲜事存储/渲染

timeline统一存储,用户保存新鲜事id列表,用户
根据id就能找到新鲜事核心数据。找到核心数据就知道
新鲜事的是属于什么类型的,类型就会对应一个模板,有了
数据和模板就可以生成卡片。一条新鲜事就可以渲染出一张卡片来。
用户的timeline有若干个这样的卡片,每一个都是这样渲染出来。
flyweight模式,享元模式,底层数据都是一份的,都是公共的去引用它,
这就是享元模式,



微博的架构演化:
第一版:
1、纯推送,推送延迟,压力大,数据存储浪费。 



























全部评论

相关推荐

点赞 评论 收藏
分享
昨天 18:05
门头沟学院 Java
点赞 评论 收藏
分享
仁者伍敌:牛子这些人还会点一个自动回复,boss都不带回复的
点赞 评论 收藏
分享
一表renzha:不是你说是南通我都没往那方面想,人家真是想表达那个意思吗?
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务