
目录
分布式事务
1.什么是分布式事务?
- 分布式事务其实就是将对同一库事务的概念扩大到了对多个库的事务。
- 目的是为了保证分布式系统中的数据一致性。
分布式事务处理的关键是:
- 需要记录事务在任何节点所做的所有动作
- 事务进行的所有操作要么全部提交,要么全部回滚
2.了解过哪些分布式事务实现方案?
- 我比较常用的是Seata
它把一个分布式事务理解成一个包含了若干分支事务的全局事务,全局事务的职责是协调它管理的分支事务达成一致性,要么一起成功提交,要么一起失败回滚
3. 谈谈你对seata的理解?
- 只需要在业务上加@GlobalTransactional注解即可
- 所谓的seata就是一个全局唯一事务ID+三个组件
- Seata 中的三大组件:
- TC(Transaction Coordinator):事务协调者,维护全局和分支事务的状态,驱动全局事务提交或回滚。
- TM(Transaction Manager):事务管理者,开启、提交或回滚全局事务。
- RM(Resource Manager):资源管理器,管理分支事务处理的资源,向 TC 注册分支事务,上报分支事务的状态,接收 TC 的命令来提交或者回滚分支事务。
4.seata的流程了解过吗?
- 1.TM 向 TC 申请开启一个全局事务,全局事务创建成功并生成一个全局唯一的 XID;
- 2.XID在微服务调用链路的上下文中传播;
- 3.RM 向 TC 注册分支事务,将其纳入 XID对应全局事务的管辖;
- 4.TM 向 TC 发起针对 XID 的全局提交或回滚决议;
- 5.TC 调度 XID 下管辖的全部分支事务完成提交或回滚请求;
CAP理论
1.了解CAP理论吗?
- 一致性(Consistency) :指数据在多个副本之间能够保持一致的特性(严格的一致性)
- 可用性(Availability) :每次请求都能获取到非错的响应--但不能保证获取的数据为最新数据
- 分区容错性(Partition Tolerance) :当出现网络分区后,系统能够继续工作。打个比方,这里个集群有多台机器,有台机器网络出现了问题,但是这个集群仍然可以正常工作。
2.简单介绍一下你对CAP理论的理解?
- 在分布式系统中,网络无法100%可靠,分区其实是一个必然现象,如果我们选择了CA而放弃了P,那么当发生分区现象时,为了保证一致性,这个时候必须拒绝请求,但是A又不允许,所以分布式系统理论上不可能选择CA架构,只能选择CP或者AP架构。
- 对于CP来说,放弃可用性,追求一致性和分区容错性,我们的zookeeper其实就是追求的强一致。
- 对于AP来说,放弃一致性(这里说的一致性是强一致性),追求分区容错性和可用性
3.为什莫CAP不可以同时实现呢?
- 首先对于分布式系统,分区是必然存在的,所谓分区指的是分布式系统可能出现的字区域网络不通,成为孤立区域的的情况 ,那么分区容错性(P)就必须要满足
- 当时在分区容错的前提下,
一致性和可用性是矛盾的。
BASE理论
1.说一下BASE理论?
- BASE是Basically Available (基本可用)、Soft state (软状态)和Eventually consistent (最终一致性)三个短语的缩写。
- BASE理论的核心思想是:即使无法做到强一致性,但每个应用都可以根据自身业务特点,采用适当的方式来使系统达到最终一致性。
2.三个功能的具体介绍?
- 基本可用:基本可用是指分布式系统在出现不可预知故障的时候,允许损失部分可用性
- 响应时间上的损失:正常情况下,一个在线搜索引擎需要在0.5秒之内返回给用户相应的查询结果,但由于出现故障,查询结果的响应时间增加了1~2秒
- 系统功能上的损失:正常情况下,在一个电子商务网站上进行购物的时候,消费者几乎能够顺利完成每一笔订单,但是在一些节日大促购物高峰的时候,由于消费者的购物行为激增,为了保护购物系统的稳定性,部分消费者可能会被引导到一个降级页面
- 软状态:
- 软状态指允许系统中的数据存在中间状态,并认为该中间状态的存在不会影响系统的整体可用性,即允许系统在不同节点的数据副本之间进行数据同步的过程存在延时
- 最终一致性:
- 最终一致性强调的是所有的数据副本,在经过一段时间的同步之后,最终都能够达到一个一致的状态,因此,最终一致性的本质是需要系统保证最终数据能够达到一致,而不需要实时保证系统数据的强一致性。


5715

被折叠的 条评论
为什么被折叠?



