架构训练营模块二作业
朋友圈高性能复杂度分析
1.发朋友圈本身并发不高,但是浏览和评论/点赞的并发比较高,浏览需要使用缓存提升速度。
2.发圈、评论、点赞同属于新增类请求,可以考虑合并一个服务。看朋友圈属于查询类请求且每个用户含有各自的可浏览内容和广告,可以独立为一个服务。
3.发圈、评论、点赞这些操作并不需要非常实时能够看到,可以通过异步化提升性能。
朋友圈高性能架构方案分析
计算高性能
1.写入类请求和查看类请求各自独立服务,消除相互间影响
2.浏览时每个用户有自己的查看视图,这个视图的生成和维护不需要太及时,可以放在异步处理
3.浏览对性能要求较高,可以在异步维护视图时加入 Redis 缓存(比如缓存最近 50 条)
存储高性能
1.不同资源使用各自适合的存储服务,图片和视频使用腾讯云对象存储,朋友圈/评论/点赞使用分布式关系数据库(OceanBase 或 TDSQL)存储,缓存使用 redis 存储
2.朋友圈数据量巨大,但是时间对于数据的访问频率影响很大,应该根据时间对数据进行冷热分离,降低存储成本
朋友圈高性能架构图
版权声明: 本文为 InfoQ 作者【请叫我馒头哥丶】的原创文章。
原文链接:【http://xie.infoq.cn/article/e6b157cca2b52b4785cad95cf】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论