hi 你好
感谢您的围观,本篇文章主要是分享分布式事务相关的问题。面试题一共整理19道,从分布式事务的一些理论开始,最后道项目中的分布式事务问题。
话不多说,我们直接进入正文。
面试官:什么是分布式事务?
其实嘛,分布式事务从实质上看与数据库事务的概念是一致的,既然是事务也就需要满足事务的基本特性(ACID),只是分布式事务相对于本地事务而言其表现形式有很大的不同。
本地事务的时代,如果需要同时操作数据库的多条记录,而这些操作可以放到一个事务中,那么我们可以通过数据库提供的事务机制就可以实现。
而分布式事务是为了解决微服务架构中不同节点之间的数据一致性问题。这个一致性问题本质上解决的也是传统事务需要解决的问题,即一个请求在多个微服务调用链中,所有服务的数据处理要么全部成功,要么全部回滚。
面试官:你知道哪些分布式事务解决方案?
好的,面试官
我所知道的分布式事务解决方案有下面几种:
比如:两阶段提交、三阶段提交、基于消息队列实现最终一致性、TCC、补偿事务、支持分布式事务的一些数据库、还有微服务中间件中有TCC-Transaction、Seata、Atomikos等为分布式事务提供支持。
面试官:Seata是什么?
好的面试官
Seata 是一款开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务。
面试官:Seata 核心组件有哪些?
好的面试官
Seata 的核