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

网站开发常用工具关键词优化推广策略

网站开发常用工具,关键词优化推广策略,分页网站,杭州网站界面设计遇到的问题 在微服务项目中 有A、B、C三个服务 其中 A调用B服务 ,B调用C, 这些就是跨服务调用了,在A服务中 还调用了一个当前模块执行插入数据的方法(在这里我就叫它为AA 也就是mybatis/spring管理的本地事务) A服务开启全局事务注解 Globa…

遇到的问题

在微服务项目中 有A、B、C三个服务 其中 A调用B服务 ,B调用C, 这些就是跨服务调用了,在A服务中 还调用了一个当前模块执行插入数据的方法(在这里我就叫它为AA 也就是mybatis/spring管理的本地事务)

A服务开启全局事务注解 @GlobalTransactional
B服务注解 @Transactional(propagation = Propagation.REQUIRES_NEW)
C服务注解 @Transactional(propagation = Propagation.REQUIRES_NEW)
AA是所属A模块中的Service的一个方法 也叫本地服务

遇到的问题1) A调用B失败后 A提交了没有回滚

原因 : A调用B失败后 B抛出的异常被 微服务全局捕异常给处理了 并没有抛出异常(再抛还是会被全局捕异常处理的) TM不知道B失败了

这里可以在全局捕异常中将 分布式事务关闭

  /*** 如果开启分布式事务,就设置response.status = 500,seata的tm(事务管理器)* 并主动回滚**/private static void setRespErrStatus(HttpServletResponse response) {//如果开启分布式事务,设置错误状态码,让事务回滚if (StringUtils.isNotBlank(RootContext.getXID())) {log.error("全局捕异常 捕获到Seata " + " 事务id-------------API--------->" + RootContext.getXID());log.error("全局捕异常 捕捉到Seata 事务" + RootContext.getXID() + " 抛出异常 设置response 状态码为 500 ");log.error("全局捕获到 Seata异常 全局回滚");try {response.setStatus(500);GlobalTransactionContext.reload(RootContext.getXID()).rollback();log.error(" 数据提交失败");} catch (TransactionException e) {log.error(" 捕获seata异常·不处理");}} else {response.setStatus(200);}}

遇到的问题2)B调用C失败后 AB都提交了没有回滚

原因 : C服务虽然加了 @Transactional(propagation = Propagation.REQUIRES_NEW) 这个在TM没有注册进来(听说是Seata中的bug 博主没有去复现这个问题 这个需要我们调用 RootContext.bind(xid); 进行绑定 )

在Feign调用前 判断 xid是否为空 如果不为空则将 xid绑定

	String xid =RootContext.getXID() ; //获取 xid RootContext.bind(xid); //绑定 xid

遇到的问题3)A调用AA失败后 ABC都提交了没有回滚

原因 : 这个是因为分布式事务调用是正常的,只是本地事务失败了 所有分布式事务都提交了,本地事务未提交 ()

遇到的问题4)ABC服务都失败了,ABC事务回滚了 AA提交了

原因 这个是因为分布式事务调用失败, AA本地事务没有加入到分布式事务中去导致的

    String xid =RootContext.getXID() ;xxService.insertScoresGoodInfos(sSysProjectMenu.getPath(),xid);@Overridepublic int insertScoresGoodInfos(String sysType  ,String xid) {RootContext.bind(xid); // 将本地事务加到分布式事务组中去return baseMapper.insertScoresGoodInfos(sysType, sysType + UUID.randomUUID().toString());}

maven

版本如下 seata 版本为1.6.1 (SpringCloud Alibaba里面自带的,如果想用更高版本的可以 排查单独引入 不推荐这个比较坑)

<spring-cloud.version>2021.0.8</spring-cloud.version><spring-cloud-alibaba.version>2021.0.5.0</spring-cloud-alibaba.version><spring-boot.version>2.7.13</spring-boot.version><druid.version>1.2.18</druid.version><dynamic-ds.version>3.5.2</dynamic-ds.version><mysql.version>5.1.49</mysql.version><!-- SpringCloud 微服务 --><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>${spring-cloud.version}</version><type>pom</type><scope>import</scope></dependency><!-- SpringCloud Alibaba 微服务 --><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-alibaba-dependencies</artifactId><version>${spring-cloud-alibaba.version}</version><type>pom</type><scope>import</scope></dependency><!-- SpringBoot 依赖配置 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-dependencies</artifactId><version>${spring-boot.version}</version><type>pom</type><scope>import</scope></dependency><!-- Druid --><dependency><groupId>com.alibaba</groupId><artifactId>druid-spring-boot-starter</artifactId><version>${druid.version}</version></dependency><!-- Dynamic DataSource --><dependency><groupId>com.baomidou</groupId><artifactId>dynamic-datasource-spring-boot-starter</artifactId><version>${dynamic-ds.version}</version></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>${mysql.version}</version></dependency><!-- Seata--><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-seata</artifactId></dependency>
http://www.hkea.cn/news/181300/

相关文章:

  • 公司做网站域名归谁搜索引擎营销策划方案
  • 怎么做外贸个人网站seo综合查询工具可以查看哪些数据
  • 黑客网站盗qq百度seo公司整站优化
  • 网页设计代码不能运行seo的中文名是什么
  • 灵溪网站建设外贸网站谷歌seo
  • 网站开发系统设计产品推销
  • 不用代码做网站 知乎百度引流推广怎么收费
  • 怎么看网站后台什么语言做的产品全网营销推广
  • 可以做宣传图的网站网络销售管理条例
  • 做书籍封皮的网站制作网站平台
  • 1网站建设公司长沙网站到首页排名
  • 域名还在备案可以做网站吗seo培训班
  • 前程无忧网宁波网站建设类岗位北京网站快速排名优化
  • 如何优化网站内部链接站长工具站长之家
  • 阿里云网站建设的实训报告免费的自媒体一键发布平台
  • 关于加强网站建设的意见企业获客方式
  • 帮企业建设网站保密合同优化设计电子课本
  • 金山石化网站建设广告电话
  • 网站开发 前景网络推广代理
  • 温州整站推广咨询seo网站推广专员
  • 企业营销型网站团队百度seo排名优化教程
  • 安徽平台网站建设哪里好网络策划与营销
  • 做网站接广告赚钱么凡科建站和华为云哪个好
  • 成都网站建设科技公seo营销外包公司
  • 重庆有哪些做网站 小程序的百度搜索引擎的特点
  • 仁怀哪里可以做网站自动秒收录网
  • 重庆市建设局网站推广软件一键发送
  • 合肥网络推广网络运营网站seo诊断分析和优化方案
  • 网站优化公司免费咨询sem优化推广
  • 个人做网站赚钱么宁波seo推荐推广平台