架构训练营模块二作业
将朋友圈功能分为三个部分:动态的增改,浏览动态,评论与点赞动态。
动态的增改
负责动态的新增和删除。同一个动态不会出现同时被多个线程修改的情况,可以在无锁的情况下使用多线程提高并发能力。动态需要做持久化,使用场景为读多写少,数据量较大,使用 mysql 分库分表作为存储。
架构图
动态浏览
动态的浏览,包括评论与点赞的浏览。查询条件较多:需按时间排序、动态发布者的黑名单、动态发布者的白名单、动态可见条件、浏览者与发布者是否是好友等。需依据较多条件进行数据的过滤与聚合,花费时间较长。可对用户高频度访问的时间范围内可见朋友圈动态做缓存,将相关查询计算所需时间提前。
架构图
评论与点赞动态
该功能首先依赖于动态浏览,对在动态浏览中的动态进行评论,回复评论,点赞。
架构图
评论