面试题答案
一键面试主要步骤
- 事务发起:客户端发起一个涉及多个子事务的业务操作请求,事务协调器接收到该请求并开始初始化整个Saga事务。
- 子事务执行:事务协调器按顺序依次调用各个服务的子事务操作。每个子事务独立执行,如果执行成功则提交,若失败则进入补偿阶段。
- 补偿处理:一旦某个子事务执行失败,事务协调器会反向调用已成功执行子事务的补偿操作,以撤销之前成功子事务对系统状态的改变,使系统回到事务开始前的状态。
关键概念
- Saga事务:由一系列本地事务组成,这些本地事务可以分布在不同的服务上,通过协调器按顺序执行,整体上提供类似于分布式事务的一致性效果。
- 事务协调器:负责管理整个Saga事务的生命周期,包括子事务的调度执行、监控执行状态以及在出现异常时触发补偿操作。
- 补偿事务:每个子事务都有对应的补偿事务,用于在子事务失败时撤销其产生的影响,保证数据一致性。补偿事务通常执行与原事务相反的操作,如原事务是插入数据,补偿事务则是删除数据。