个人知乎 ##功能九-timeline/新鲜事推送
来源:互联网 发布:华为推送 java服务端 编辑:程序博客网 时间:2024/05/01 08:28
个人知乎
功能九-timeline/新鲜事推送
基础知识
不同用户不同的内容推: 事件触发后广播给所有粉丝,异步实现简单 粉丝量大时,后台压力大拉: 登录时主动拉取关注内容 读取压力大推拉: 活跃/在线用户推 其他/僵尸拉大型网站技术架构 按时间分表 异步处理 分库分表,比如按尾号 分级缓存,热门数据存在内存 多机房数据同步人人网 推送为主,新鲜事合并 内存缓存关系链 数据压缩缓存 异步线程池
业务分析
模型:feed新鲜事拉模式:读取数据库推模式:
Model
feed:id,type,userId,createdDate data:json格式
数据表
根据模型建表
DAO
注解实现简单sql 插入xml实现动态sql 查询和userId相关的新鲜事
Service
查询list<userId>对应的新鲜事
Controller
拉模式 feedHandler 当如评论,关注等Event事件发生时,生成一个feed并入数据库 getPullFeeds:拉模式 根据登录用户取出关注的人,得到id列表list<userId> 调用Service从数据库得到所有的新鲜事 用macro宏在模板根据type中渲染出不同样式推模式 feedHandler 当把feed存入库时,还需要推入到粉丝的reids.<timelinekey,list>中 用户登录时根据自己的timelinekey直接从redis取出所有feed 注意当取消关注或者取消事件是需要同步redis
阅读全文
0 0
- 个人知乎 ##功能九-timeline/新鲜事推送
- 个人知乎 ##功能一-登录注册
- 个人知乎 ##功能二-问题发布
- 个人知乎 ##功能三-评论中心
- 个人知乎 ##功能四-站内信
- 个人知乎 ##功能七-邮件发送
- 个人知乎 ##功能八-关注服务
- 个人知乎 ##基础九——爬虫入门PySpider
- 个人知乎 ##功能五-赞踩功能对评论
- 个人知乎 ##基础六/功能六-异步队列实现赞踩站内信
- 个人知乎 ##基础一-项目介绍
- 个人知乎 ##基础二-WEB知识
- 个人知乎 ##基础三-数据库基础
- 个人知乎 ##基础四-多线程
- 个人知乎 ##基础五-redis
- 个人知乎 ##基础七-排序显示
- 个人知乎 ##基础八—python基础
- TimeLine
- opencv for pyhton (5) 用滑动条做调色板
- Python简化类例一:实现在类的定义、继承、重写
- 个人知乎 ##基础七-排序显示
- spark学习-36-Spark的ShuffleManager
- 回调函数
- 个人知乎 ##功能九-timeline/新鲜事推送
- Spring OXM-XStream快速入门
- poj日记(1753)
- HDU-1011-Starship Troopers
- gentoo下载与安装
- 个人知乎 ##基础八—python基础
- python爬虫学习
- MyBatis学习笔记(一)--初识MyBatis
- 找规律 B