发布网友 发布时间:2024-08-19 23:20
共1个回答
热心网友 时间:2024-08-23 03:52
以下是一些关于分布式事务的面试题及其解答,帮助理解事务特性、分布式事务与分布式锁的差异,以及分布式事务的实现和解决方案。
事务具有四个关键特性:原子性(确保操作要么全部成功要么全部失败)、一致性(执行前后保持数据一致性)、隔离性(不同事务间相互隔离)、和持久性(提交后的数据变更持久化)。
分布式事务解决的是流程化问题,旨在维护分布式系统数据一致性;而分布式锁则是解决资源占用问题,用于同步对共享资源的访问。
MySQL通过锁机制保证隔离性,利用Redo Log保障持久性,Undo Log确保原子性和一致性。
分布式事务确保分布式系统操作的原子性,当多个小操作在不同应用中协同完成一个大操作时,保证要么全成要么全败,以维持数据一致性。
CAP定理表明在分布式系统中,无法同时保证一致性、可用性和分区容错性。设计时通常要在一致性与可用性之间做出权衡。
Base理论强调最终一致性,与刚性事务(强一致性,如XA协议,效率低)相对,柔性事务(如TCC、Saga等)允许存在中间状态。
包括2PC(同步阻塞,长事务风险)、3PC(预提交阶段和超时)、TCC(业务层面,代码入侵)、消息事务(本地执行与消息订阅方协作)和Seata的AT模式(分两阶段,本地事务与回滚日志管理)。
理解这些概念有助于深入掌握分布式事务的原理和实际应用,掌握这些知识对于分布式系统开发人员来说至关重要。