分布式事务「2020年」必学,升职加薪你准备好了吗?
对于分布式事务,如果要学习的话,那么都要学习什么呢?
基础概念-初入江湖
磨刀不误砍柴工,要对于分布式具体的方案有一个透彻的了解,那么基础概念就是你第一步要了解的,一开始的时候,都需要了解什么呢?
(1)事务的基本概念:什么是事务?本地事务?数据库事务?分布式事务?
(2)事务的四大特性ACID:事务的四大特性、四大特性在数据库层面是怎么体现的。
(3)分布式产生的场景。
(4)分布式事务的理论:CAP理论、BASE理论。
2PC/3PC-征战沙场
有了基本理论知识的加持,就可以开始学习具体的方案了,分布式提出的方案一就是两阶段提交2PC,那么对于TCC要学习什么呢?
(1)概念:要了解什么是2PC/3PC?
(2)方案原理:XA方案、Seata方案、TXLCN的lcn方案。
(3)实战:对于方案还是要进行实际操作下,才能有一个感官的认知。
TCC-勇者无敌
对于2PC中的方案的,是在实际项目还是使用的比较多的,但是如果碰到不同数据源的问题,那么2PC可能就无能为力了(2PC的分布式事务解决方案大多依赖于本地事务),那么如果在项目中有mysql、redis、mongodb的话,那么2PC就无法控制这个流程的分布式事务了,但是TCC方案就是一种不太依赖本地事务的方案。
(1)概念:要了解什么是TCC ?
(2)TCCC的异常处理:幂等性、空回滚、悬挂的产生原因以及怎么处理。
(3)TCC的常用框架:了解TCC的常用框架,如何使用TXLCN的TCC进行实战。
可靠消息最终一致性-所向披靡
上面的方案基本上都是使用同步的思路,就是整个事务在同一个请求当中,A服务通过远程调用B服务,A服务需要B服务执行完成之后才能进行返回,有些流程中,我们可能不关心当下下个服务的执行情况,比如用户注册送积分。
送积分的这个事情就可以使用异步的方式进行操作,我们的核心就是确保用户能够注册成功,减少用户的等待时间,那么我们就可以:用户填写完信息,发起注册流程,注册流程在异步通知积分服务进行积分操作,在这个异步的过程中,要确保消息能够送达到积分服务,也要确保积分服务能够接收到消息,这就是可靠消息最终一致性要解决的问题。
那在学习可靠消息最终一致性的解决方案的话,都需要学习什么呢?
(1)概念:了解清楚什么是可靠消息最终一致性。
(2)可靠消息最终一致性的方案:通过本地消息表和RocketMQ进行可靠消息最终最终一致性的方案有什么区别,以及怎么使用RocketMQ进行实战。
最大努力通知-叱咤风云
在学会了可靠消息最终一致性之后,在学习最大努力通知,那么转换思路问题了,只要稍微转换下可靠消息最终一致性的代码就是最大努力通知了。
以上这些就是要学习分布式事务要了解的技术知识,一方面是自己学习,逐个攻克各个知识点,另外一方面就是站在前人的肩膀上进行学习。
博主对于这块知识也录制了相应的课程,如果有需要的可以进行报名学习,感谢大家的支持。
知识大纲
使用技术
付出行动,升职涨薪从此开始!!!
购买完整视频,请前往:http://www.mark-to-win.com/TeacherV2.html?id=287