摘要:
1.什么是TCC TCC是分布式事务中的二阶段提交协议,它的全称为Try-Confirm-Cancel,即资源预留(Try)、确认操作(Confirm)、取消操作(Cancel),他们的具体含义如下: Try:对业务资源的检查并预留 Confirm:对业务处理进行提交,即commit操作,只要Try 阅读全文
摘要:
1.XA模式是什么 XA规范在上世纪 90 年代初就被提出,用以解决分布式事务处理这个领域的问题 注意:不存在某一种分布式事务机制可以完美适应所有场景,满足所有需求 现在无论AT模式、TCC 模式、Saga 模式,这些模式的提出本质上都源自 XA 规范对某些场景需求的无法满足 XA规范是X/Open 阅读全文
摘要:
1.简介 概念:AT模式是一种无侵入的分布式事务解决方案,在 AT 模式下用户只需关注自己的“业务 SQL”,用户的 “业务 SQL” 作为一阶段,Seata 框架会自动生成事务的二阶段提交和回滚操作。 整体机制: 两阶段提交协议的演变: 一阶段:业务数据和回滚日志记录在同一个本地事务中提交,释放本 阅读全文
摘要:
1.Seata Server简单部署 官方下载地址:https://github.com/seata/seata/releases 修改conf/registry.conf文件,seata的注册中心为nacos: 注意:确保client与server的注册处于同一个namespace和group,不 阅读全文
摘要:
1.分布式事务解决方案 2PC即两阶段提交协议,是将整个事务流程分为两个阶段,P是指准备阶段,C是指提交阶段。 准备阶段(Prepare phase) 提交阶段(commit phase) 举例:比如相亲对象两个人去吃饭,店老板要求先付钱再吃饭,这时男女双方提出了AA,也就是说只有男女双方都付钱才能 阅读全文
摘要:
1.概念 基础概念:事务ACID A(Atomic):原子性,构成事务的所有操作要么都执行完成要么全部不执行,不可能出现部分成功部分失败的情况。 C(Consistency):一致性,在事务执行前后,数据库的一致性约束没有被破坏。比如:张三向李四转100元,转账前和转账后的数据是正确状态,这叫一致性 阅读全文
摘要:
1.固定时间窗算法 概念:固定时间窗口计数器算法思想,在固定的时间窗口内,可以允许固定数量的请求进入。超过数量就拒绝或者排队,等下一个时间段进入。 具体分析一下: 将当前的时间分为10t大小的几个时间窗 规则是阈值为100个请求数,每个时间窗里面的请求数量不能超过阈值100 10t到16t进入请求1 阅读全文
摘要:
DegradeSlot解析 //DegradeSlot.entry @Override public void entry(Context context, ResourceWrapper resourceWrapper, DefaultNode node, int count, boolean p 阅读全文
摘要:
StatisticSlot StatisticSlot 是 Sentinel 最为重要的类之一,用于根据规则判断结果进行相应的统计操作。 entry 的时候:依次执行后面的判断 slot。每个 slot 触发流控的话会抛出异常(BlockException的子类)。若有 BlockException 阅读全文
摘要:
ClusterBuilderSlot解析 ClusterBuilderSlot:则用于存储资源的统计信息以及调用者信息,例如该资源的 RT, QPS, thread count 等等,这些信息将用作为多维度限流,降级的依据; //NodeSelectorSlot.entry() @Override 阅读全文