关注模块设计说明--干饭:Go小队
关注模块设计说明--干饭:Go小队
一、需求分析
1、关注、取消关注户(POST)/douyin/relation/action/
A.用例表
B. 请求参数
C. 返回响应
2、关注列表(GET)/douyin/relation/follow/list/
A.用例表
B.请求参数
C.返回响应
3、粉丝列表(GET)/douyin/relation/follower/list/
A.用例表
B. 请求参数
C.返回响应
二、系统设计
1、整体架构设计
2、详细设计
1)关系操作
A.流程图
B.顺序图
2)关注、粉丝列表
A.流程图
B.顺序图
3、性能优化考虑
1)问题背景与解决方案
2)性能优化之后的系统架构
3)详细优化方案
A.MQ设计
B.Redis设计
C. 关系操作优化过程
D. 获取关注、粉丝列表过程
E.Redis脏读、脏写
F.数据库索引设计
G.1条SQL获取关注、粉丝列表
H.存储过程
三、service接口设计
四、参考文档
关注模块设计说明--干饭:Go小队
一、需求分析
关注模块包括
关注、取关、获取关注列表、获取粉丝列表
四个基本功能;包含
是否关注、分数总数、关注总数
三个辅助功能。
关注操作,登录用户可对其他用户点击关注按钮,完成对目标用户的关注;
取关操作,登录用户可对关注的其他用户点击取消关注按钮,完成对目标用户的取消关注;
获取关注列表,登录用户点击自己或他人主页的粉丝关注区域,获取自己或他人的关注列表;
获取粉丝列表,登录用户在关注列表界面,左划屏幕到粉丝域,获取自己或他人的粉丝列表。
图1 关注模块用例图
1、关注、取消关注户(POST)/douyin/relation/action/
A.用例表
表1 用户关系操作用例表
编号
101
用例名称
关系操作
参与者
用户、客户端、web服务端
输入
双方ID
输出
操作成功与否
前置条件
用户成功登录系统
基本流程
1.用户在客户端点击关注或取关按钮
2.web服务端将关系状态持久化到数据库,更新缓存
3.返回状态码、成功或失败信息
后置条件
无
异常流程
如果用户未登录系统,则返回提示用户登录的信息
B. 请求参数