优点:
尽量保证类数据的强一致性(无法完全保障),适合对数据强一致要求很高的关键领域
缺点:
同步阻塞:
执行过程中,所有参与节点都是事务阻塞型的,当参与者找有公共资源时,其他第三方节点访问公共资源不得不处于阻塞状态
单点故障:
由于协调者的重要性,一旦协调者发生故障,参与者会一直阻塞下去,尤其在第二阶段,协调者发生故障,那么所有的三语者都还处于锁定事务资源的状态中,而无法继续完成事务操作.如果协调者挂掉,可以重新选举一个协调者,但是无法解决因为协调者宕机导致的参与者与阻塞状态的问题
数据不一致:
在二阶段提交的阶段二中,当协调者向参与者发送请求之后,发成了局部网络异常或者再发从commit请求过程中协调者发生了故障,这回导致之后一部分参与者接受到了commit请求,而在这部分参与者接到commit请求之后会执行commit操作,但是其他部分未接到commit请求的机器则无法执行事务提交,于是整个分布式系统便出现了数据不一致的现象
二阶段无法解决的问题:
协调者再发出commit消息之后宕机,而唯一接收到这条消息的参与者同时也宕机了,那么及时协调者通过选举协议产生了新的协调者,这条事务的状态也是不确定的,没有人知道事务是否已经被提交了