朋友圈高性能复杂度
-- 模块二作业
朋友圈复杂度总体分析
整体来看,朋友圈的业务复杂度不算高。朋友圈的业务复杂度比 Redis 要高,但是质量复杂度比 Redis 要低,朋友圈的性能和实效性,可以有一定的容忍度。
朋友圈数据分析(19 年数据)
朋友圈高性能方案-整体架构
解释:
帖子服务:朋友圈的发帖,评论,点赞功能
好友帖子服务:我的朋友圈列表中,会显示好友的帖子,好友帖子好友的评论等。好友的数据是异步推送到我的好友帖子服务。由于我的好友帖子和帖子是完全不同的业务,所以分成二个服务。
单机房架构图
查看我的朋友圈,访问好友帖子集群服务
好友帖子集群服务查询 Redis 集群,获取数据。如果是历史数据,会保存到数据库中。【这个地方考虑会有不好的地方,好友的帖子信息需要再冗余一份,造成存储开销】
根据返回的图片信息,去 CDN 下载图片并展示
发布帖子,首先将图片上传到 CDN
调用帖子服务发布帖子,并把图片 url 传给帖子服务集群
存储帖子到 Redis 集群
将帖子发布信息同步到好友帖子,通过 Rabbit MQ
评论