当前位置: 首页 > news >正文

网站建设多久学会网站开发可演示的版本

网站建设多久学会,网站开发可演示的版本,建设营销型网站的目的有哪些,企业展示网站文章目录 分布式事务seata引入理论基础CAP定理BASE理论 初识Seata动手实践XA模式AT模式TCC模式SAGA模式 高可用 分布式事务seata 引入 理论基础 CAP定理 BASE理论 初识Seata 动手实践 XA模式 AT模式 TCC模式 Service Slf4j public class AccountTCCServiceImpl implements A…

文章目录

  • 分布式事务seata
    • 引入
    • 理论基础
      • CAP定理
      • BASE理论
    • 初识Seata
    • 动手实践
      • XA模式
      • AT模式
      • TCC模式
      • SAGA模式
    • 高可用

分布式事务seata

引入

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

理论基础

CAP定理

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

BASE理论

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

初识Seata

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

动手实践

XA模式

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

AT模式

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

TCC模式

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

@Service
@Slf4j
public class AccountTCCServiceImpl implements AccountTCCService {@Autowiredprivate AccountMapper accountMapper;@Autowiredprivate AccountFreezeMapper freezeMapper;@Override@Transactionalpublic void deduct(String userId, int money) {// 0.获取事务idString xid = RootContext.getXID();//1.判断freeze中是否有冻结记录,如果有,一定是CANCEL执行过,我要拒绝业务AccountFreeze oldFreeze = freezeMapper.selectById(xid);if (oldFreeze != null){//CANCEL执行过,我要拒绝业务return;}// 1.扣减可用余额accountMapper.deduct(userId, money);// 2.记录冻结金额,事务状态AccountFreeze freeze = new AccountFreeze();freeze.setUserId(userId);freeze.setFreezeMoney(money);freeze.setState(AccountFreeze.State.TRY);freeze.setXid(xid);freezeMapper.insert(freeze);}@Overridepublic boolean confirm(BusinessActionContext ctx) {// 1.获取事务idString xid = ctx.getXid();// 2.根据id删除冻结记录int count = freezeMapper.deleteById(xid);return count == 1;}@Overridepublic boolean cancel(BusinessActionContext ctx) {// 0.查询冻结记录String xid = ctx.getXid();String userId = ctx.getActionContext("userId").toString();AccountFreeze freeze = freezeMapper.selectById(xid);//1.空回滚的判断,判断freeze是否为null,为null证明try没执行,需要空回滚if (freeze == null){freeze = new AccountFreeze();freeze.setUserId(userId);freeze.setFreezeMoney(0);freeze.setState(AccountFreeze.State.CANCEL);freeze.setXid(xid);freezeMapper.insert(freeze);return true;}//2.幂等判断if (freeze.getState() == AccountFreeze.State.CANCEL) {//已经处理过一次CANCEL,无需重复处理return true;}// 1.恢复可用余额accountMapper.refund(freeze.getUserId(), freeze.getFreezeMoney());// 2.将冻结金额清零,状态改为CANCELfreeze.setFreezeMoney(0);freeze.setState(AccountFreeze.State.CANCEL);int count = freezeMapper.updateById(freeze);return count == 1;}
}

SAGA模式

在这里插入图片描述
在这里插入图片描述

高可用

在这里插入图片描述

http://www.yayakq.cn/news/685121/

相关文章:

  • 网站设计开发是啥做电商的进货网站
  • 虹桥街道网站建设wordpress边栏
  • 怎么找到网站站长织梦笑话娱乐网站源码2w数据+36条采集规则
  • 成都双语网站开发wordpress后台用户名
  • 品牌网站建设c股j东大蝌蚪网站运维托管
  • 美食网站开发与设计任务书信息流优化师没经验可以做吗
  • 手机网站的模板下载软件打开链接即可玩的游戏
  • 桂林网站开发公司电话宽屏网站设计
  • 宁波培训网站建设用vs做网站的登录
  • 企业网站建设 新闻宣传网站架构教程
  • 网站设计方案怎么写余干网站建设制作
  • 铁门关市建设局网站建设企业网站官网下载
  • win2008 iis配置网站东莞南城做网站
  • 一般做个网站多少做网站多少钱网站建设原则应考虑哪些
  • 安阳哪里有做网站的南和网站建设公司
  • seo网站推广全程实例wordpress图片ssl
  • 建设银行贵阳银行下载官方网站电子商务网站前台设计
  • 网站站点管理在哪里wordpress 导入的模板
  • 凡科小程序模板网站seo优化合同
  • 网站多少页面合适专业网站营销
  • 网站单页在线制作手机如何编辑网页内容
  • 网站策划论坛太仓网站建设有限公司
  • 网站制作和推广lv官网三三网是什么网站
  • 阿里云模板建站怎么样网站流量怎么做的
  • 建设工程j教育网站ppt设计主题
  • 做短视频的网站收益微信小程序开发流程详细
  • 智能城市 电子商务网站建设合肥网站建设王道下拉??
  • 外贸都是在哪些网站做建设网站的岗位
  • 网站备案证明个性化网站制作
  • 做月季评分表的工程网站叫什么网站空间2G一年多少钱