分布式系统保证数据一致性的事务机制
分布式事务、两阶段提交、一阶段提交、Best Efforts 1PC模式和事务补偿机制1.分布式事务XA
XA是分布式事务的规范,定义了事务管理器和资源管理器之间的接口。XA接口是双向的,在事务管理器和资源管理器之间形成通信桥梁。事务管理器控制着全局事务,管理事务的生命周期,协调资源。资源管理器负责控制和管理实际资源(e.g. 数据库或JMS队列)
2.JTA
定义了java事务规范,具体实现由供应商负责提供
3.两阶段提交
a)准备阶段 b)提交阶段 两阶段保证分布式事务原子性,要么全做,要么全部做。
准备阶段
事务管理器(事务协调者)给每个资源管理器(参与者)发送Prepare消息,参与者要么直接返回失败,要么本地执行事务,写本地redo和undo日志,但是不提交,只保留最后一步耗时非常短暂的正式提交操作给提交阶段。
提交阶段
如果接收到参与者的失败消息或超时,直接给每个参与者发送RollBack消息,否则发送Commit消息,参与者根据协调者指令执行提交或回滚操作,释放所有事务处理过程的锁资源。
优缺点:失败概率非常小,但是耗时,如果事务爆发时可能会引起事务积压甚至死锁,性能会严重下滑。
4.一阶段提交(Best Efforts 1PC模式)
相比两阶段不需要协调者角色,比较简单,从应用程序想数据库发出提交请求到数据库完成提交或回滚之后将结果返回给应用程序。
优缺点:提交时间消耗短,提交危险期是每个事务实际提交时间,不一致的概率比两阶段更大,当然只有出现网络中断、宕机等问题时才会出现不一致现象。
5.事务补偿机制
Best Efforts 1PC模式实现的前提是应用程序能获得所有数据源,使用同一个事务管理器(如spring的事务管理)管理事务,典型应用场景是数据库sharding。但是对于web service/rpc/jms等构建的分布式系统接口,该模式无能为力,此场景下可以使用事务补偿机制实现最终一致性。
标签: 分布式一致性
日历
个人资料
diaba 寻求合作请留言或联系mail: services@jiucaiyuan.net
链接
最新文章
存档
- 2024年10月(1)
- 2024年8月(2)
- 2024年6月(4)
- 2024年5月(1)
- 2023年7月(1)
- 2022年10月(1)
- 2022年8月(1)
- 2022年6月(11)
- 2022年5月(6)
- 2022年4月(33)
- 2022年3月(26)
- 2021年3月(1)
- 2020年9月(2)
- 2018年8月(1)
- 2018年3月(1)
- 2017年3月(3)
- 2017年2月(6)
- 2016年12月(3)
- 2016年11月(2)
- 2016年10月(1)
- 2016年9月(3)
- 2016年8月(4)
- 2016年7月(3)
- 2016年6月(4)
- 2016年5月(7)
- 2016年4月(9)
- 2016年3月(4)
- 2016年2月(5)
- 2016年1月(17)
- 2015年12月(15)
- 2015年11月(12)
- 2015年10月(6)
- 2015年9月(11)
- 2015年8月(8)
分类
热门文章
- SpringMVC:Null ModelAndView returned to DispatcherServlet with name 'applicationContext': assuming HandlerAdapter completed request handling
- Mac-删除卸载GlobalProtect
- java.lang.SecurityException: JCE cannot authenticate the provider BC
- MyBatis-Improper inline parameter map format. Should be: #{propName,attr1=val1,attr2=val2}
- Idea之支持lombok编译
标签
最新评论
- logisqykyk
Javassist分析、编辑和创建jav... - xxedgtb
Redis—常见参数配置 - 韭菜园 ... - wdgpjxydo
SpringMVC:Null Model... - rllzzwocp
Mysql存储引擎MyISAM和Inno... - dpkgmbfjh
SpringMVC:Null Model... - tzklbzpj
SpringMVC:Null Model... - bqwrhszmo
MyBatis-Improper inl... - 乐谱吧
good非常好 - diaba
@diaba:应该说是“时间的度量依据”... - diaba
如果速度增加接近光速、等于光速、甚至大于...
最新微语
- 从今天起,做一个幸福的人。喂马,砍柴,(思想)周游世界
2022-03-21 23:31
- 2022.03.02 23:37:59
2022-03-02 23:38
- 几近崩溃后,找到解决方法,总是那么豁然开朗!所以遇到问题要坚持!
2018-07-18 10:49
- 2018年关键字“走心”
2018-03-19 16:07
- 保护好自己最大的方法是让自己更强大,不要柔弱的像一只绵羊一样,得谁巴拉,就谁巴拉!
2017-12-20 10:24
发表评论: