写点什么

朋友圈高性能复杂度

用户头像
Simon
关注
发布于: 2021 年 04 月 18 日

-- 模块二作业


朋友圈复杂度总体分析

整体来看,朋友圈的业务复杂度不算高。朋友圈的业务复杂度比 Redis 要高,但是质量复杂度比 Redis 要低,朋友圈的性能和实效性,可以有一定的容忍度。


朋友圈数据分析(19 年数据)


朋友圈高性能方案-整体架构

解释:
  • 帖子服务:朋友圈的发帖,评论,点赞功能

  • 好友帖子服务:我的朋友圈列表中,会显示好友的帖子,好友帖子好友的评论等。好友的数据是异步推送到我的好友帖子服务。由于我的好友帖子和帖子是完全不同的业务,所以分成二个服务。

单机房架构图

  1. 查看我的朋友圈,访问好友帖子集群服务

  2. 好友帖子集群服务查询 Redis 集群,获取数据。如果是历史数据,会保存到数据库中。【这个地方考虑会有不好的地方,好友的帖子信息需要再冗余一份,造成存储开销】

  3. 根据返回的图片信息,去 CDN 下载图片并展示

  4. 发布帖子,首先将图片上传到 CDN

  5. 调用帖子服务发布帖子,并把图片 url 传给帖子服务集群

  6. 存储帖子到 Redis 集群

  7. 将帖子发布信息同步到好友帖子,通过 Rabbit MQ


用户头像

Simon

关注

还未添加个人签名 2018.08.11 加入

还未添加个人简介

评论

发布
暂无评论
朋友圈高性能复杂度