开发基础
开发基础笔记
mybatis-plus通用的service方法
通过jenkins配置前后端自动打包及发布
mybatis-plus实现分页的方式
Java极客技术公众号PDF
狂神说SpringBoot
Hashids java 版使用
SpringBoot
1、Web快速开发
2、结果集的封装
3、集成MyBatis实现数据库操作
4、Springboot @Validated参数校验
5、SpringBoot全局异常处理
6、拦截器HandlerInterceptor
7、集成Swagger实现API自动生成
8、集成knife4j实现API自动生成
9、Springboot集成MyBatis-Plus快速入门
10、springboot自定义注解及AOP切面使用
11、使用Shiro实现登陆和权限认证,基于MyBatis
12、集成SpringSecurity实现授权认证
13、SpringBoot集成EasyExcel实现数据导入与导出
14、Spring Task定时任务的实现
15、Quartz快速上手与实践
16、如何用代码实现Spring IOC
17、SpringBoot集成JWT,实现接口的鉴权交互
SpringCloud
Nacos作为服务注册中心
seata1.6.1 结合springcloud实现分布锁的技术笔记
一些技术博客推荐
前端面试相关
看这一篇就够了
java.util包常用的类和接口
CountDownLatch介绍与使用
Common-lang3使用入门
Hutool简单使用入门
lombok 介绍及基本使用方法
git项目统计成员代码行数和提交的次数
mysql 逗号分隔的数据 like查询
使用sonar进行代码质量检查
线上使用jmeter进行压测的时候,使用Arthas诊断工具排查响应慢的接口
php结合phpstudy8、vscode开启xdebug进行代码调试
node-red使用入门
本文档使用 MrDoc 发布
-
+
首页
seata1.6.1 结合springcloud实现分布锁的技术笔记
代码地址: https://gitee.com/heshj/seata-at ## 前提条件 安装演示的必备组件: 1 seata-server 1.6.1 2 nacos 2 3 mysql5.7 ## 环境地址 本演示环境 : seata 地址:10.168.1.184:8091 nacos 地址:10.168.1.184:8848 ## 修改seata配置信息 在conf/application.yml中,将注册中心和配置中心的地址修改为实际部署环境地址 ~~~yml seata: config: # support: nacos, consul, apollo, zk, etcd3 # # nacos中存放seata的配置文件,后面会提该文件的使用方式,相当于seata服务启动的时候需要注册到nacos,并使用nacos中的配置文件 type: nacos nacos: server-addr: 10.168.1.184:8848 group: DEFAULT_GROUP namespace: 6ceffa64-bee1-4b94-8ac5-5a8445ef19d0 username: nacos password: nacos data-id: seataServer.properties registry: # support: nacos, eureka, redis, zk, consul, etcd3, sofa type: nacos nacos: application: seata-server server-addr: 10.168.1.184:8848 namespace: 6ceffa64-bee1-4b94-8ac5-5a8445ef19d0 group: DEFAULT_GROUP cluster: default username: nacos password: nacos ~~~ 启动后,可以在nacos里看到 seata的注册信息。 windows启动命令: ~~~ .\seata-server.bat -p 8091 -h 10.168.1.184 ~~~ seata控制台: http://10.168.1.184:7091/ 账号密码: seata ## 修改服务配置 按需修改account-service模块、business-service模块、order-service模块中的application.yml配置信息,包括 数据库 NACOS和seata application.yml里的 seata 的配置特别注意一下: ~~~yml seata: enabled: true tx-service-group: mygroup # 事务分组名称,要和服务端对应 enable-auto-data-source-proxy: true data-source-proxy-mode: AT use-jdk-proxy: false service: vgroup-mapping: mygroup: default # key是事务分组名称 value要和服务端的机房名称保持一致 grouplist: default: 10.168.1.184:8091 enable-degrade: false disable-global-transaction: false ~~~ 请务必按上面的信息进行配置,否则可能出现如下报错信息: ~~~ seata+nacos出现can not register RM,err:can not connect to services-server 或 更改seata的服务地址一直无法生效,一直will connect to 127.0.0.1:8091 ~~~ >d 因为我的 seata服务和我的微服务不是部署在同一服务器,所以 微服务在请求的时候,需要请求到 10.168.1.216的8091端口上,而不是 127.0.0.1:8091 ## 启动服务 启动 account-service、business-service、order-service三个服务, 启动完之后,可以在nacos里看到 服务信息。 ## 测试 http://localhost:8000/test-commit 分布式事务提交 http://localhost:8000/test-rollback 分布式事务回滚 下图是数据库信息:  point_record和t_order 是两个服务对应操作的两张表。 如果 两个微服务同时成功执行的话,会相应在数据加里生成订单,并且增加积分信息,否则 两个库里都不会生成记录。 参考资料: https://blog.csdn.net/qq_28379433/article/details/126307537 https://blog.csdn.net/weixin_40777510/article/details/129685726 https://zhuanlan.zhihu.com/p/528004569 项目本地文件夹位于:C:\code-java8\seata-at-master
superadmin
2023年10月9日 22:38
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
分享
链接
类型
密码
更新密码