@yanglfyangl
2018-08-03T07:02:50.000000Z
字数 1504
阅读 618
主要需求包括如下几点
- 支持按城市,按类型,按XXX设置广告。
- XXX
- XXX
- XXX
(列举出主要的需求点、需要特别关注的点)
非功能性需求会考虑如下的点
- 性能要求高。
- 会通过定时job刷新缓存。
- XXX
- 所有的访问不能打数据库,用于保证性能。
- 通过job来更新缓存,供前端调用。
- XXX
(根据业务可选)
注:为了保证文档尽可能合理大小
1. 不是让大家把所有的API全列出来,需要列出来的是本功能需要的主要接口
2. 入参出参也不需要特别完整,但重点部分需要列举出来
1. 退出圈子
/*
para {
...
userID:
}
return:{
}
*/
@RequestMapping(value = "quite", method = RequestMethod.POST)
public ReturnData quiteCircle(@RequestBody Map<String, Object> jsonPara) throws Exception {
...
//重要逻辑是:
// 1. aaa
// 2. bbb
}
/*
*/
@RequestMapping(value = "add", method = RequestMethod.POST)
public ReturnData addCircle(@RequestBody Map<String, Object> jsonPara) throws Exception {
}
不需要把所有字段全列举出来,主要列举的是与逻辑非常相关的部分。以及描述与性能相关的部分。
1. 库A
主要作用是:保存用户关系的信息
字段 | 是否索引 | 描述 |
---|---|---|
usrID | 否 | 存储用户的ID,用于XXX |
friendID | 否 | 用户好友的ID |
... | ... | ... |
2. 库B
主要作用是:保存大V用户关系
字段 | 是否索引 | 描述 |
---|---|---|
usrID | 否 | 存储用户的ID,用于XXX |
fansgroupID | 否 | 粉丝群的ID |
... | ... | ... |
主要的查询关系
1 获取用户粉丝列表
select * from A where ...
2 获得粉丝数
select * from A where ...
Key | 类型 | 描述 |
---|---|---|
fans_{circle}_{usrID} | List | 存储某个用户在某个圈子里的粉丝数 |
... | ... | ... |
暂无
1 加入圈子到搜索
"topic":"shensou"
"format":{
"type":"joinToCircle"
"data":{
"usrID":"加上字段描述"
"..."
}
}
为了测试上面功能,我们做了如下的测试
用例名 | 描述 | 测试缓存? | 测试数据库? | 测试ES? | 测试图引擎? |
---|---|---|---|---|---|
test_ad_XXX | 测试广告读取 | 是 | 是 | 不需要 | 不需要 |
test_bc_XXX | 测试广告读取 | 是 | 是 | 不需要 | 不需要 |
... | ... | ... | ... | ... | ... |