实习面试题-SpringCloud 面试题

实习面试题-SpringCloud 面试题

1.什么是分布式事务的防悬挂,空回滚?

回答重点

防悬挂空回滚是分布式事务中的两个重要的概念

1. 防悬挂

防悬挂是指在分布式事务的第一阶段,防止在没有对应的 Try 操作的情况下出现 Confirm 或 Cancel 操作。这是为了保证事务的正确性和一致性。

分布式事务中最常见的模型是 TCC(Try-Confirm-Cancel)模型。在 TCC 模型中,事务分为三个步骤:

  • Try:资源的预留操作。
  • Confirm:确认操作,完成业务逻辑。
  • Cancel:取消操作,回滚预留资源。

防悬挂机制的作用是确保在分布式事务中,Confirm 和 Cancel 操作只会在 Try 操作成功执行后才会触发。防悬挂的场景通常是以下情况:

  • Confirm 操作悬挂:如果 Confirm 操作在没有执行过 Try 操作的情况下被调用,可能会导致数据不一致。
  • Cancel 操作悬挂:类似地,如果 Cancel 操作在没有 Try 操作的情况下被调用,也会破坏数据的一致性。

为了防止这种情况,需要通过某些机制来检测和防止悬挂。例如:

  • 幂等性