缘起
笔者最近在看分布式事务的时候发现网上很多资料很零散,不够系统,看的云里雾里,比如在分布式事务中的关键词
- DTP模型
- TCC
- XA规范
- 两阶段型
- 三阶段型
- JTA
- 基于可靠消息服务的分布式事务
- 异步确保型
- 补偿型
- 最大努力通知型
- 定期校对
- sagas事务模型
这么多关键词是什么意思?之间又有什么关系??
系统性的了解分布式事务协议和解决方案
什么是协议和解决方案
先说说什么是协议,
协议就是约定,就是提出来这个东西应该怎么做的约定,不是一个具体的解决方案,比如大家约定了2.5寸的硬盘的接口是怎样的,长宽高是多少,但是具体你硬盘怎么做是你的事,你可以用塑料做,也可以做铁做,也可以用木头做。
而解决方案就是具体的做法,比如上面说的硬盘用什么材料做,在技术中往往就是说具体的框架。
分布式事务的协议
目前比较常用的分布式事务解决方案的协议有两种
- 强一致的X/Open DTP模型
- 弱一致的TCC
在说这两个之前简单提一嘴XA规范
XA 就是 X/Open DTP 定义的交易中间件与数据库之间的接口规范(即接口函数),交易中间件用它来通知数据