尝试在微服务中使用@GlobalTransactional注解

在分布式中,传统的注解@Transactional会失效,于是我尝试使用@GlobalTransactional来实现分布式事务管理

在我的项目我使用docker搭建nacos,mysql8.0,sentinel,seata

再此期间我借鉴如下的内容

黑马的centos7的安装

地址:Linux环境搭建 - 飞书云文档https://b11et3un53m.feishu.cn/wiki/FJAnwOhpIihMkLkOKQocdWZ7nUc

黑马的docker安装 

安装Docker - 飞书云文档https://b11et3un53m.feishu.cn/wiki/Rfocw7ctXij2RBkShcucLZbrn2d其中Linux环境镜像源有问题,问题是

2024年6月30日,CentOS 7正式结束生命周期(EOL),官方停止维护支持。许多用户发现,原本依赖的默认镜像源(如mirrorlist.centos.org)已无法访问,导致yum安装失败并报错Could not resolve host。本文将深入分析问题根源,并提供一键修复方案、镜像源替代方案以及长期系统迁移建议,助你快速恢复系统功能。

其中我通过这篇文解决了问题:

《CentOS 7 镜像源失效终极解决方案(2024年更新)》——生命周期终止后的镜像修复与替代方案_解决centos镜像源不可用导致的下载安装软件失败的通病 原-CSDN博客

 然后还需要下载jkd1.8 mysql8.0,教程如下Linux系统CentOS 7.6 安装 JDK1.8 详细步骤_centos7.6在线安装jdk1.8-CSDN博客

Linux系统CentOS 7.6 Docker 安装 MySQL8.0 详细步骤_linxu下docker部署mysql8.0.34-CSDN博客

然后需要搭建nacos,也是参考黑马的教程

day03-微服务01 - 飞书云文档

在这里,我刚开始是想搭建nacos集群的,但是网上的教程大多数是高版本的nacos的集群,高版本的会nacos配置多了两个端口,麻烦很多,搭了1整天,始终还是报错,找不到原因,而且springcloud会涉及到很多版本的问题,于是我转为单体nacos,继续使用黑马的提供的版本,具体版本兼容资料在下方

版本发布说明-阿里云Spring Cloud Alibaba官网

再就是整合springcloud,实现分布式项目,因为黑马的教程太长,我以前看过一些,原理大概都懂,只是没有实操,于是找了个1小时左右的快速搭建项目的教程,感觉他的教程也挺详细的,适合我,b站博主  (幽幽Ushio)

视频后面需要docker搭建了sentinel,我找到的教程如下

Sentinel(二)Docker搭建Sentinel 控制台环境搭建及使用介绍-CSDN博客

由于我的docker拉不到sentinel的镜像源,我下载了jar,上传linux配置了镜像,教程如上,注意改为自己合适的版本

最后我需要搭建seata

教程也附上:

Docker 部署 Seata (图文并茂超详细)_docker seata-CSDN博客

注意版本

做到这里,我开始尝试@GlobalTransactional注解的使用,但是服务却启动不了,报了Error creating bean with name 'globalTransactionScanner' defined in class path resource,然后我再讲报错原因发给ai,尝试多个方法后,终于解决了,问题我的jdk版本是19,seate1.5.1不适配,需要升级

以上就是解决办法。

项目使用@GlobalTransactional注解的业务是抢票业务,我的业务是在先票务服务中删除数量,然后再订单服务中生成订单,如何这时订单服务挂了,库存就会删除,而订单却也没生成出来。使用注解后也解决了这个问题,后面我将在尝试seata四大事务处理方案,

我写这篇文章的意义是记录我在实现项目中遇到的错误,这项目从0搭建起来也花费了大量精力,主要是docker搭建遇到了很多问题,各种版本兼容问题,也希望这篇文章对一些人有些作用,至少减少找解决方案的时间。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值