seata必会的9个知识点

1.Seata支持的事务模型有哪些?
Seata支持两种事务模型:AT(自动补偿型事务)和TCC(尝试/确认/取消型事务)。AT模型通过事务日志回滚来保证全局事务的一致性,而TCC模型通过业务代码显式地编写确认和取消方法来保证一致性。

2.Seata如何实现分布式事务?
Seata通过将全局事务拆分成多个本地事务,并使用事务日志来保证事务的原子性和一致性。在具体实现中,Seata使用了XID来标识全局事务,并将每个本地事务与XID关联,通过事务日志来记录每个本地事务的操作和状态。

3.Seata的的核心组件有哪些?
事务协调器(TC,Transaction Coordinator)、事务管理器(TM,Transaction Manager)和资源管理器(RM,Resource Manager)。此外,还有一个全局事务日志存储(GTS,Global Transaction Store)用于保存全局事务的状态。

4.Seata的应用场景是什么?
Seata的应用场景主要是分布式系统中的数据一致性问题,例如微服务架构下的多个服务之间需要进行数据操作,需要通过Seata来实现全局事务的管控。

5.Seata的性能如何?
Seata的性能表现主要取决于事务的复杂度和网络通信的延迟等因素。在实际使用中,Seata的性能表现已经相当优秀,可以满足大部分分布式系统的事务需求。

6.Seata如何保证数据一致性?
Seata通过事务日志来记录每个本地事务的操作和状态,如果发生故障或者异常,可以使用事务日志来进行回滚或者补偿操作,从而保证数据的一致性。
Seata通过将全局事务逻辑与本地事务绑定,然后使用两阶段提交协议来保证分布式事务的一致性。在第一阶段,Seata的TC将全局事务提交请求发送给所有涉及的RM,并等待各个RM的确认。在第二阶段,TC将根据各个RM的确认情况来提交或回滚全局事务

7.Seata的事务日志如何存储和管理?
Seata的事务日志可以通过文件系统、数据库或者消息队列等方式进行存储和管理。具体实现可以根据业务需求进行选择和配置。

8.Seata与其他分布式事务解决方案(如XA)有什么区别?
Seata相对于传统的XA协议,提供了更轻量级和可扩展的解决方案。它避免了在分布式事务中使用长时间持有锁的问题,提高了性能和可靠性。此外,Seata还提供了更灵活的事务模型和丰富的应用程序集成方式。

9.Seata如何实现事务的柔性?
Seata通过事务日志来记录每个本地事务的操作和状态,如果某个本地事务执行失败,可以使用事务日志来进行回滚或者补偿操作,从而保证全局事务的原子性和一致性。

你可能感兴趣的:(分布式事务,java,分布式,spring,cloud)