Seata有几种模式

204 阅读1分钟

Seata有四种模式,分别是AT模式、TCC模式、Saga模式和XA模式。以下是具体介绍:

AT模式:是Seata的默认模式,它允许开发者像使用本地事务一样使用分布式事务,而不需要对业务代码做出任何改动。AT模式通过AOP技术拦截业务SQL,自动记录业务数据的“before image”和“after image”,并生成行锁,在全局事务提交时清除快照数据和行锁,回滚时使用“before image”恢复业务数据。

TCC模式:是一种基于业务活动的两阶段提交协议,要求业务方提供Try、Confirm和Cancel三个接口,以实现事务的准备、提交和回滚。该模式适合对性能要求较高、业务逻辑相对复杂的场景。

Saga模式:是一种长事务解决方案,将一个长事务拆分成多个短事务,每个短事务对应一个服务操作,每个服务操作都有对应的补偿操作。如果某个服务操作失败,则依次执行前面所有服务操作的补偿操作,以回滚整个事务。

XA模式:是基于X/Open XA规范的分布式事务解决方案,它通过事务管理器和资源管理器之间的协作来实现全局事务的一致性。XA模式依赖数据库对XA协议的原生实现,Seata仅负责协调逻辑,具有强一致性的特点,但性能相对较低。