近期新做一个试乘试驾功能,原以为是简单的保存功能,发现需要涉及到四五个服务十多个接口!
业务流程分析:
1.验证手机验证码
2.查询用户信息(用户服务)
3.经销商ca授权(法大大)
4.个人用户三要素验证(法大大)
5.个人ca授权(法大大)
6.生成合同(法大大)
7.个人签章(法大大)
8.经销商签章(法大大)
9.保存合同(合同微服务)
10.调用clm建卡(clm服务)
问题分析:
虽然是简单的保存,但是后台处理的逻辑和调用的接口比较多导致整体接口返回慢!
解决问题:
在2,3,4,5,10做优化!
1.首先根据jwt获取的用户id查接口这步做缓存,防止接口不稳定返回慢,测试下来这个接口时间也是不稳定的
2.经销商授权,这步前置,直接根据经销商信息查询本地表获取授权信息(customerId,签章需要使用)
3.个人三要素验证和ca申请,这步直接保存信息到主表,要是主表有信息直接获取授权信息,不走服务
4.调用clm建卡,此步骤并不需要实时性采用消息队列做异步处理