写点什么

架构训练营模块二作业

用户头像
guangbao
关注
发布于: 2 小时前

将发朋友圈动态认为是发送一条 feed,朋友圈动态的回复认为 comment

由于微信用户量比较大,可以预估为 50 亿。基本上所有的用户都打开了朋友圈功能,用户好友上限为 5000。对于这样复杂度的系统来说,尽量拆分为更易维护和扩展的子系统更合理一些。

  1. 动态发送架构


将朋友圈动态发送设计为一个朋友圈的子系统。feed 有单独的存储中心即 feed 中心,由缓存+持久化存储实现,缓存可由 redis 实现,持久化存储可由 Hbase 实现,避免分库分表的困扰。feed 设计为两张表,一个是用户自己的 feed,单独存储,缓存用户最近发的若干条动态,一个是用户朋友圈展现的 feed,聚合最近的若干条自己和自己关注的朋友的若干条动态。

用户发 feed 时,会先有 webservice 进行逻辑处理,如果有图片则上传到文件存储,然后将 feed 存储到 feed 中心。并且更新到自己的 feed 表,并且发 kafka,异步更新朋友的朋友圈所有 feed 表中,

  1. 评论发送架构

朋友圈发评论类似,也是单独的业务子系统。

用户头像

guangbao

关注

还未添加个人签名 2018.08.26 加入

还未添加个人简介

评论

发布
暂无评论
架构训练营模块二作业