SNS底层架构及动态体系

SNS底层架构及动态体系

ID:38574001

大小:644.11 KB

页数:32页

时间:2019-06-15

SNS底层架构及动态体系_第1页
SNS底层架构及动态体系_第2页
SNS底层架构及动态体系_第3页
SNS底层架构及动态体系_第4页
SNS底层架构及动态体系_第5页
资源描述:

《SNS底层架构及动态体系》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、SNS底层架构及动态体系杨含飞(少昊)淘宝网淘宝SNS架构师提要SNS基本架构动态体系设计推/送?数据模型性能权重存储设计CassadraMysqlSNS基本架构动态体系动态体系基本概念消息发送队列(发件箱)消息接收队列(收件箱)热门用户推送选择PullPush淘宝SNS方案PULL消息抓取好友好友发送消息好友发送消息好友发送消息PUSH消息推送好友好友收到消息好友收到消息好友收到消息推拉优缺点PULL实现简单需要时读取相应的数据牺牲查询性能PUSH实现复杂对于不活跃的用户也推了数据很好的查询性能消息分发设计数据模型性能设计权重设计淘宝SNS推送机制

2、数据模型数据模型将Feed数据和用户消息索引分离索引容量小,更易分发及Cache分发时只分发消息索引,更为轻量级Feed对象可以在不同用户间共享不涉及Feed对象在用户间的迁移性能设计Feed产生峰值1000/s分发写索引峰值10000/s平均分发好友数10Feed查询读索引峰值20000/s异步化消息分发通过MQ进行消息异步分发分发过程只写CacheCache互备Cache索引备份到存储Cache设计一级Cache集成于应用内部基于本地内存操作需要进行服务器间状态同步数据容量不大数据变化不频繁二级CacheiCache用来缓存那些容量较少的分发索引

3、数据容量小,易压缩可以完全存储于Cache中读写频率非常高不需要淘汰可靠性要求高,双机互备。eCache用来存储Feed对象及其他对象数据读的频率高占用的容量大在保证命中率的前提下进行淘汰及容量规划可靠性要求低iCache设计iCache设计元数据活动索引可重用索引具有一定的容量(200)解决Cache容量问题Feed权重问题Feed多样性信息过载显示不友好解决权重机制尽量显示重要信息Feed特性多样性时效性交互性权重设计内容权重类型交互时间权重随时间下降随时间淘汰分区设计分区具有不同的内容和时间的权重比例具有容量控制Feed权重过程存储设计Cass

4、andraMySqlCassandra2台测试服务器2客户端16*E5520@2.27GHz6磁盘raid10766G24GB内存备份数2写ConsistencyLevel为QUOUM(2)读ConsistencyLevel为ONECassandra客户端线程数Key随机范围单客户端TPS总TPS平均响应时间平均Load321-50W585117047ms18读性能写性能客户端线程数Key随机范围单客户端TPS总TPS平均响应时间平均Load321-500W10861217232ms15Cassandra特点线性扩展具有较好的备份机制写性能非常好读性

5、能较差相对来说不是特别成熟Feed分发IO分发处理写索引10000/s查询读索引20000/s活动索引读=20000*97%=19400/s(100%Cache命中)可重用索引读=20000*3%=600/s(32%Cache命中)存储读=600*(1-32%)=408/sFeedIO对存储写多读少分发索引比较适合Cassandra特点MySql存储存储方案成熟读写性能比较平衡,都在较好的水平扩展相对比较困难容量估算要求比较高用来存储Feed消息对象及其他相关数据基于ID进行Hash拆分后续目标基础平台服务化通用化信息流通平台化互动化Q&A

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。