异常流程与正常流程同等重要,区别于核心用户和边缘用户概念。
在考虑每一步的流程时,必须兼顾异常问题的发生和解决方案
用户体验——具体场景&数据监控
页面展示慢—接口响应时间长,用户页面停留时长、跳失率
reason:实时调接口查询,因数据量大或频率过快导致
Solution:缓存数据,每N分钟更新一次
数据展示异常—后台返回接口异常的次数和概率
Reason:接口超时或异常
Solution:可以设定重复调用,多次重复失败后,通过邮件等形式通知到运营、技术或者商家
页面数据不一致
Reason:数据更新有时差
Solution:设定合理的定时更新任务
操作失败
Reason:用户可能多次提交,或者数据被占用等原因
Solution:加入检验机制,比如短时间内重复提交不调用接口,直接返回原结果; 善意题行用户不要重复提交,如“你的手太快了,请休息30s后再试”
服务响应时间长
Reason:部分操作后长时间不完成剩余操作,例如下单不支付
Solution:定时调用相关接口,主动通知用户完成剩余操作;超过服务规范时间前发送预警通知,人工介入等,或者到时间自动关闭
商家体验——数据监控&具体场景
恶意重复调用接口——涉及到的每个接口调用频率
Reason:比如短时间重复调用某一接口
Solution:规定同一IP地址不能在短时间内多次调用;直接返回第一次调用接口的结果,不再重复调用;每个接口在同一时间最多N次调用,否则返回失败等