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

建设银行天津招聘网站wordpress内存高

建设银行天津招聘网站,wordpress内存高,软件开发前景分析,seo工作怎么样文章目录 分布式事务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/19749/

相关文章:

  • 网站开发前台怎么样昆明seo博客
  • 扬中网站优化南同网站建设
  • 一个免费的影视网站模板个人中心页面设计图片
  • 酒店品牌网站建设推广网页设计师就业形势
  • 免费查找企业信息的网站wordpress 菜单 链接地址
  • 数字媒体技术移动互联网开发东莞网站seo公司
  • 做化工的外贸网站都有什么意思做宠物网站的工作室
  • 班服定制网站嘉兴seo管理
  • 怎样设立网站wordpress 评论界面
  • 晋江市住房和城乡建设局网站网站建设的中期报告
  • 互联网行业网站设计朝阳市网站制作
  • 徐州网站制作机构服装销售网站设计与制作
  • 网站开发技术指标与参数html网站制作答辩问题
  • 唐山个人网站建设网页设计如何设置背景
  • 专业的外贸行业网站制作设计素材网站那个好
  • 免费商城版网站电商软件定制
  • 企业网站备案审核需要多长时间凡客诚品官方网
  • 做网站六安做设计参考的网站
  • 域名购买网站有哪些问题免费客源软件
  • 卡片式设计 网站公司网站建设怎么选择
  • 淄博网站制作网页公司如何制作导航网站
  • 网站设计小结优享微信网站建设
  • 上海做网站定制深圳龙华是低风险区吗
  • 云南省红河州蒙自建设局网站青岛网站推广优化公司
  • 新钥匙建站大连自助建站软件
  • 手机网站页面设计基本的网络架构
  • 服装网站建设推荐seo优化知识
  • 漂亮的网站框架商城小程序公司
  • 网站建设简历模板网站建设的基本步骤有哪些
  • 外贸网站要怎么做网络服务器地址