接口耗时优化

1、首先要了解此接口的上下游有哪些,整理出来。

例如:给上游调用,了解到他们的调用场景,是job调用,还是web页面调用,调用是否频繁。
调用下游接口,如果改动,评估是否会对下游接口造成影响。

2、如果接口入参是list,考虑控制list限制,太大务必会影响接口性能。

3、接口逻辑复杂的尽量把业务流程梳理出来,寻找可优化的点。

4、考虑是否有循环操作数据库,是否可以改成批量。

5、考虑sql是否可以优化

5.1、索引优化
5.2、sql语句优化
5.2、是否回表
5.3、是否会导致索引失效

6、考虑代码内是否有逻辑可以改成异步调用(使用线程池或者MQ)

6.1、如果改成异步调用,考虑到异步操作是否需要加补偿机制,以防出现异常,上游不可知
6.2、补偿机制使用job重试机制,如对性能要求,可通过MQ消费
6.3、如果使用线程池,考虑线程数+队列是否可以处理完任务,考虑拒绝策略是否会丢失任务
6.4、如果使用MQ,还需考虑补偿
7、接口内需考虑事务,调用第三方接口不要放在事务中。
8、做好单元测试。
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值