Java知识分享网 - 轻松学习从此开始!    

Java知识分享网

Java1234官方群25:java1234官方群17
Java1234官方群25:838462530
        
SpringBoot+SpringSecurity+Vue+ElementPlus权限系统实战课程 震撼发布        

最新Java全栈就业实战课程(免费)

springcloud分布式电商秒杀实战课程

IDEA永久激活

66套java实战课程无套路领取

锋哥开始收Java学员啦!

Python学习路线图

锋哥开始收Java学员啦!

2020年乐信Java高级笔试面试题 PDF 下载


分享到:
时间:2020-08-23 09:36来源:http://www.java1234.com 作者:小锋  侵权举报
2020年乐信Java高级笔试面试题 PDF 下载
失效链接处理
2020年乐信Java高级笔试面试题 PDF 下载


本站整理下载:
 
相关截图:
 
主要内容:

1.画出项⽬的架构图
2.所处⾃⼰负责的业务模块,其中⽤到了哪些技术点?
3.如何实现最终⼀致性分布式事务?
1. ⼆阶段提交:
a. 概念:参与者将操作成败通知协调者,再由协调者根据所有参与者的
反馈情报决定各参与者是否要提交操作还是中⽌操作。
b. 作⽤:主要保证了分布式事务的原⼦性;第⼀阶段为准备阶段,第⼆
阶段为提交阶段;
c. 缺点:不仅要锁住参与者的所有资源,⽽且要锁住协调者资源,开销
⼤。⼀句话总结就是:2PC效率很低,对⾼并发很不友好。
2. 三阶段提交:
a. 概念:三阶段提交协议在协调者和参与者中都引⼊超时机制,并且把
两阶段提交协议的第⼀个阶段拆分成了两步:询问,然后再锁资源,最
后真正提交。这样三阶段提交就有CanCommit、PreCommit、
DoCommit三个阶段。
b. 缺点:如果进⼊PreCommit后,Coordinator发出的是abort请求,假
设只有⼀个Cohort收到并进⾏了abort操作,
⽽其他对于系统状态未知的Cohort会根据3PC选择继续Commit,此时系统状态
发⽣不⼀致性。
3. 柔性事务:
a. 概念:所谓柔性事务是相对强制锁表的刚性事务⽽⾔。流程⼊下:
服务器A的事务如果执⾏顺利,那么事务A就先⾏提交,如果事务B也执
⾏顺利,则事务B也提交,整个事务就算完成。但是如果事务B执⾏失
败,事务B本身回滚,这时事务A已经被提交,所以需要执⾏⼀个补偿操
作,将已经提交的事务A执⾏的操作作反操作,恢复到未执⾏前事务A的
状态。
b. 缺点:业务侵⼊性太强,还要补偿操作,缺乏普遍性,没法⼤规模推
⼴。
4. 消息最终⼀致性解决⽅案之RabbitMQ实现:
a. 实现:发送⽅确认+消息持久化+消费者确认。

 

------分隔线----------------------------

锋哥公众号


锋哥微信


关注公众号
【Java资料站】
回复 666
获取 
66套java
从菜鸡到大神
项目实战课程

锋哥推荐