分布式事务.

    xiaoxiao2022-07-14  159

    基于SOA的盛行, ACID特性要在服务器之间实现. 而不仅仅是单一的数据库.

    分布式事务方案:

    强一致性

    2PC两阶段提交(XA事务, 阻塞)Two-Phase Commit

    3PC三阶段提交(非阻塞,引入超时和准备阶段)Three-Phase Commit

    TCC模式 ,本质也是2PC

    Sage模式

    最终一致性(BASE理论)

    本地消息表

    Mq消息队列.

    Paxos

    Raft

    ZAB 协议 ( Zookeeper Atomic  Broadcast) 原子广播协议

     

    2PC,二阶段提交协议.将事务提交的过程分成两部分进行处理: 准备阶段和提交阶段.

    事务的发起者称之为是协调者. 事务的执行者称之为参与者.

    阶段一:准备阶段

    1.协调者想所有参与者发送事务内容,询问是否可以提交事务.并等待所有的参与者答复.

    2.各个参与者执行事务操作., 将undo和redo信息写入到事务日志中.(但是此时事务没有提交)

    3.参与者返回yes表示可以进行提交, 参与者返回no表示不能进行提交.

    阶段二:提交阶段

    1.所有的参与者都返回yes 能够提交事务

    2.一个参与者返回no,就要中断事务.

     

    最新回复(0)