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

商城网站包括哪些模块东莞做微网站建设价格

商城网站包括哪些模块,东莞做微网站建设价格,可以做数据图的的网站有哪些,北流建设局网站文章目录 分布式事务问题示例Seata概述、官网一个典型的分布式事务过程处理过程全局GlobalTransactional分布式交易解决方案流程图 Seata安装下载修改conf目录下的application.yml配置文件dashboard demo 分布式事务问题示例 单体应用被拆分成微服务应用,原来的三个…

文章目录

  • 分布式事务问题示例
  • Seata概述、官网
    • 一个典型的分布式事务过程
    • 处理过程
    • 全局@GlobalTransactional
    • 分布式交易解决方案流程图
  • Seata安装
    • 下载
    • 修改conf目录下的application.yml配置文件
    • dashboard
  • demo

分布式事务问题示例

单体应用被拆分成微服务应用,原来的三个模块被拆分成三个独立的应用,分别使用三个独立的数据源,
业务操作需要调用三个服务来完成。此时每个服务内部的数据一致性由本地事务来保证,但是全局的数据一致性问题没法保证。
在这里插入图片描述

Seata概述、官网

官网
http://seata.io/zh-cn/
下载
https://github.com/seata/seata/releases

一个典型的分布式事务过程

分布式事务处理过程的一ID+三组件模型

  • Transaction ID XID:全局唯一的事务ID;
  • Transaction Coordinator (TC):事务协调器,维护全局事务的运行状态,负责协调并驱动全局事务的提交或回滚;
  • Transaction Manager ™:控制全局事务的边界,负责开启一个全局事务,并最终发起全局提交或全局回滚的决议;
  • Resource Manager (RM):控制分支事务,负责分支注册、状态汇报,并接收事务协调器的指令,驱动分支(本地)事务的提交和回滚;

处理过程

  1. TM 向 TC 申请开启一个全局事务,全局事务创建成功并生成一个全局唯一的 XID;
  2. XID 在微服务调用链路的上下文中传播;
  3. RM 向 TC 注册分支事务,将其纳入 XID 对应全局事务的管辖;
  4. TM 向 TC 发起针对 XID 的全局提交或回滚决议;
  5. TC 调度 XID 下管辖的全部分支事务完成提交或回滚请求。
    在这里插入图片描述

全局@GlobalTransactional

相较于Spring的注解@Transactional

分布式交易解决方案流程图

在这里插入图片描述

Seata安装

下载

版本1.7
https://github.com/seata/seata/releases

修改conf目录下的application.yml配置文件

  1. 先备份原始application.yml文件
  2. 主要修改:自定义事务组名称+事务日志存储模式为db+数据库连接信息(示例参考application.example.yml)
  3. 建表sql在script/server/db

dashboard

http://localhost:7091/
默认7091端口
切换中文
在这里插入图片描述

demo

@GlobalTransactional(name = “fsp-create-order”,rollbackFor = Exception.class)
name自己取,唯一就可,rollbackFor异常抛出,

  • 未加该注释出现的问题:示例中 accountService.decrease(order.getUserId(),order.getMoney());调用不成功但是会继续修改订单状态并且会减少账户中值
//Service全都使用Feign可设置Time.Sleep来模拟Feign调用不成功
//示例中
//@GlobalTransactional(name = "fsp-create-order",rollbackFor = Exception.class)
public void create(Order order)
{log.info("----->开始新建订单");//1 新建订单orderDao.create(order);//2 扣减库存log.info("----->订单微服务开始调用库存,做扣减Count");storageService.decrease(order.getProductId(),order.getCount());log.info("----->订单微服务开始调用库存,做扣减end");//3 扣减账户log.info("----->订单微服务开始调用账户,做扣减Money");accountService.decrease(order.getUserId(),order.getMoney());log.info("----->订单微服务开始调用账户,做扣减end");//4 修改订单状态,从零到1,1代表已经完成log.info("----->修改订单状态开始");orderDao.update(order.getUserId(),0);log.info("----->修改订单状态结束");log.info("----->下订单结束了,O(∩_∩)O哈哈~");}
//模拟Feign调用不成功示例,Feign默认超时1秒不成功
public void decrease(Long userId, BigDecimal money) {LOGGER.info("------->account-service中扣减账户余额开始");//模拟超时异常,全局事务回滚//暂停几秒钟线程try { TimeUnit.SECONDS.sleep(20); } catch (InterruptedException e) { e.printStackTrace(); }accountDao.decrease(userId,money);LOGGER.info("------->account-service中扣减账户余额结束");
}
http://www.yayakq.cn/news/126663/

相关文章:

  • translate wordpress郑州seo顾问热狗
  • 金融行业网站制作2003年前深圳注册公司有什么要求
  • 自己做的网站广告制作费用清单明细
  • 做网站有2个前提条件 一个是网站网站建设俄语
  • 柳州建设网官方网站网站开发平台建设
  • 济宁网站开发公司简述营销网站建设策略
  • 青岛机关建设网站网站如何引导客户
  • wordpress免邮箱注册网站关键词优化到首页难度
  • 广州专业做网站排名哪家好网站建设的大作业代码
  • 汽车网站推广策划方案wordpress跟随插件
  • 织梦怎么修改网站标题中山专业网站建设模板代理
  • 网站开发及运营代理协议范本wordpress 营销页面
  • 网站焦点图怎么做链接网站如何跟域名绑定
  • 深圳微商城网站制作好的平面设计网站有哪些
  • 中国投诉网站做袜子机器多少钱一台九江网站建设哪家好
  • 西安网站建设有那些公司好重庆网站建设哪个好
  • 男女插孔做暖暖网站大全久久租房网
  • 网站建设与设计企业网站建设中有哪几个重要点
  • 网站做支付要多少钱中国搜索提交网站
  • 东营网站建设优化公司自己怎么创建免费网站
  • html5 手机网站 图标网站建设计划书
  • 360网站优化淮北建站
  • 网站建设做账网站开发与设计 信科
  • 贵州网站推广公司网页效果图设计流程
  • 三亚婚纱摄影 织梦网站源码滕州做网站的多少
  • 网站设计四项原则做牛仔裤的小视频网站
  • 网站建设合同属于技术合同吗wordpress镜像什么意思
  • 网站建设专题的意义贵阳网站上门备案业务
  • 河北网站建设和运营网站的色彩搭配
  • cnc强力磁盘 东莞网站建设thinkphp 大型网站开发