异步接口和事务混合模式分析
当一件事特别复杂的时候,既存在本身数据库的事务,又存在和其它系统交互的场景,那么就有可能会因为时间上的先后关系导致取数异常。
分析
以下图为例,在代码层虽然“插XXXX”表先执行,但是由于事务提交的滞后性,导致"发给异步系统报文"这件事,其实在时间线上比"插XXXX表"先执行,
那么当异步系统在做涉及到XXXX表的操作时,可能会因为数据尚未到达或未更新而导致不可预知的异常。
此时就应该尽量延缓异步系统对XXXX表的操作,从而让2和3有序进行,或者直接改成同步模式通信。
我的ppt地址: https://pan.baidu.com/s/1mj9GCMs