1.接口重复提交,(基于用户,接口地址限制重复提交频次,单用户不存在并发访问同一接口情况)
(资料图片仅供参考)
2.接口分类(后端,小程序,前台)
3.接口幂等性,(上下游对接考虑相同请求应具备唯一标识,下游接收请求,应判断是否重复,若重复不进行业务处理直接按约定返回数据,幂等多次请求接口行为应一致)
4.日志链路,
5.接口补偿(跨系统调用失败处理方式,消息,RPC,REST)
6.分布式调用加锁问题,分布式系统,并发访问可能导致,数据读取,判断,写,无法原子性的问题,应将分布式锁纳入考虑
7.流水号问题,按日期流水号问题,redis实现
8.公共依赖问题,开发过程中对于存在共性的工具类,应用切面,组件应逐步提取,到公共组件包,作为依赖,并优化对于组件使用开关方式
9.maven版本问题(snapshot),上线后maven依赖不应使用snapshot版本
10.sql脚本管理与变更,yearning,纳入版本控制
11.配置管理与变更
12.数据库字段非空与命名规范
13.统一权限校验切面
14.规范redis使用,按系统增加前缀
15.链路调用,单号偏差问题处理(接口仅做触发动作,不使用返回数据,需要同步的单号状态等,通过接口/消息回调)
16.分布式事务,长链路调用,接口超时/上游接口后续业务处理失败
17.接口幂等处理
18.需求评审两次?
19.同一个事务中优先本地调用,后进行无法囊括于事务中的操作,若一次交互存在同多个外部接口交互,并可能导致数据变更,需要考虑分布式事务/补偿方案/调用解耦
20.skuId,同一商品可能存在部分商品折扣,部分商品特殊价格场景,需要在设计时考虑关联问题,避免后续数据无法连续
21.上游来源数据,预留sourceId,用于记录数据原始来源ID,用于数据溯源
22.由于不同表关联字段类型不一致导致关联查询,索引失效问题
23.流水超限报错
24.版本号作为乐观锁限制并发访问方式
25.在使用或修改数据时,就要假定会存在并发造成的,不可见性等并发问题,需要考虑如何锁住条件及修改的数据
26.分布式系统中用于展示的冗余字段,应当考虑按特性集中到单独的表中,并提供公共方法用于展示查询(查询过程中可进行刷入数据,更新数据等操作)
27.应当避免在循环过程中调用查询
28.不可以使用前台传参时间
X 关闭