写点什么

第二周作业

  • 2022-12-18
    北京
  • 本文字数:394 字

    阅读完需:约 1 分钟

1.朋友圈复杂度分析

单说 发布、点赞、评论本身业务复杂度不高,但是由于朋友圈社交的属性其质量复杂度要求很高

微信注册用户已经超 12 亿,假设每日活跃 50w,每个人有 100 个关注的人,每个人每日发 10 条动态

每日那就是 500000 x 100 x 10 条数据要存储

每人每天请求新动态 1000 的话,按分页每次请求 20 条来算 要请求 50 次

如果全部新内容都会被每个人阅读的话,那么要请求 500000 * 50 = 2.5 千万次请求

所以请求量还是超级大的。

2.架构设计图


3.设计理由

3.1 因为发布、评论、点赞业务关系比较紧密,所以就不单独拆分微服务了,区分模块即可

3.2 保存动态、评论等其实可以用 MongoDB,但是这边对 msql 比较熟悉,考虑情况也是可以存储的,当然 nosql 会更好对于储存而言。

3.3 Redis 主要是用来存储发布动态之后,自己的朋友圈列表、自己的朋友圈内容库、以及对应朋友的订阅列表、以及每个订阅者针对该发布者最后一次阅读的时间,这些都是要求时效的,所以考虑用 Redis 记录


用户头像

还未添加个人签名 2020-11-15 加入

还未添加个人简介

评论

发布
暂无评论
第二周作业_作业_不爱学习的程序猿_InfoQ写作社区