1. Seata为什么效率高
1.1. 应对面试官的解释
- Seata的解决方案是两阶段提交的升级版,传统两阶段提交资源管理器(RM)放在数据库端,由数据库管理,需要数据库支持XA协议。
- 而Seata把RM从数据库端以jar包的形式移到了应用端,剥离了数据库对XA协议的要求。
- Seata认为我们对数据库的提交操作90%以上都是成功的,所以我们可以节省XA协议锁定资源的时间,应用层执行完直接提交就可以释放锁,如果出错需要回滚则锁定到回滚完成
- 所以Seata减少了事务对资源的锁定时间,提高了并发和吞吐量
1.2. Seata的具体使用例子
参考:https://juejin.im/post/5d7838d65188254917372a69
或直接查看官网github