seata-server
seata-server
- 文章使用seata版本1.3,nacos版本1.3
- 1.修改配置文件seata\conf\file.conf
- 2.修改配置文件seata\conf\registry.conf
- 3.将seata-server配置文件注册进nacos
- 4.客户端
- 总结
文章使用seata版本1.3,nacos版本1.3
都是直接在Windows上运行的:
1.修改配置文件seata\conf\file.conf
这里就不改了,因为直接注册进nacos,从nacos中取配置(示例):
2.修改配置文件seata\conf\registry.conf
代码如下(示例):
#修改注册模式
registry {# file 、nacos 、eureka、redis、zk、consul、etcd3、sofatype = "nacos"
#注册地址nacos {application = "seata-server"serverAddr = "127.0.0.1:8848"group = "SEATA_GROUP"cluster = "default"username = "nacos"password = "nacos"}
3.将seata-server配置文件注册进nacos
修改registry.conf(示例):
#修改配置模式
config {# file、nacos 、apollo、zk、consul、etcd3type = "nacos"
#修改配置中心地址
nacos {serverAddr = "127.0.0.1:8848"group = "SEATA_GROUP"username = "nacos"password = "nacos"}
github获取config.txt
github获取nacos-config.sh
新建文件夹script,放入nacos-config.sh
config.txt放在seata根目录下
也可以直接双击
当在nacos中看到配置代表上传成功
启动nacos
此处nacos配置存储模式为mysql
启动seata
seata需要cmd加命令行参数
seata-server.bat -h 127.0.0.1 -p 8091
4.客户端
3个服务
一个订单
一个库存
一个consumer(通过feign调用订单和库存)
pom和yml配置基本大同小异(复制粘贴就好):
pom
<dependencies><dependency><groupId>com</groupId><artifactId>common-api</artifactId><version>0.0.1-SNAPSHOT</version></dependency><dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>2.1.4</version></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId></dependency><!-- alibaba-seata --><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-seata</artifactId><exclusions><!--移除掉该starter中自带的依赖,该依赖版本较低--><exclusion><artifactId>seata-all</artifactId><groupId>io.seata</groupId></exclusion><exclusion><groupId>io.seata</groupId><artifactId>seata-spring-boot-starter</artifactId></exclusion></exclusions></dependency><!--单独添加seata 1.3.0的依赖--><dependency><groupId>io.seata</groupId><artifactId>seata-spring-boot-starter</artifactId><version>1.3.0</version></dependency><!-- openfeign --><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-openfeign</artifactId></dependency><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId></dependency><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId><scope>runtime</scope><optional>true</optional></dependency></dependencies>
yml
server:port: 8002
spring:application:name: seata-storage#注册nacoscloud:nacos:discovery:server-addr: 127.0.0.1:8848register-enabled: trueconfig:server-addr: 127.0.0.1:8848enabled: truefile-extension: yamldatasource:driver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://127.0.0.1:3306/seata_storage?serverTimezone=UTCusername: rootpassword: 123type: com.alibaba.druid.pool.DruidDataSource#seata配置
seata:enabled: trueapplication-id: ${spring.application.name}tx-service-group: ${spring.application.name}-tx-groupconfig:type: nacosnacos:server-addr: 127.0.0.1:8848group: SEATA_GROUPusername: nacospassword: nacosregistry:type: nacosnacos:application: seata-serverserver-addr: 127.0.0.1:8848group: SEATA_GROUPusername: nacospassword: nacosservice:vgroup-mapping:seata-order-tx-group: defaultmybatis:mapper-locations: classpath:mapper/*.xmltype-aliases-package: com.ccss.entity
核心代码@GlobalTransactional开启全局事务
这里库存调用设置了异常,通过打断点会发现undo_log表记录的前置镜像和后置镜像
表结构
总结
篇幅过长,不上代码了,环境搭建难,用起来就一个注解,总结一些理论
- AT/TCC/Saga事务模式
- 读写隔离
- 2pc,3pc
- base理论
seata-server相关推荐
- eureka server配置_springcloud+eureka整合分布式事务中间件seata
今天继续给大家分享一下阿里的分布式事务中间件seata的使用,跟上篇文章<springboot多数据源整合分布式事务中间件seata>不一样的是,上篇文章是单服务绑定多数据源的分布式情况, ...
- GitHub标星14000+,阿里开源的SEATA如何应用到极致?
作者简介:袁鸣凯,家乐福技术总监, 高知特有限技术公司中国区架构师,HP上海研发技术专家,夸客金融首席架构师,现任家乐福中国区技术总监.多年互联网.企业级SOA.微服务.全渠道中台方面的架构设计实战经 ...
- 五分钟体验分布式事务框架Seata
点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 Seata 是一款开源的分布式事务解决方案,致力于提供高性能和简单 ...
- druid seata 配置_分布式事务解决方案——Seata使用
在微服务开发过程中分布式事务一直是一个比较重要的问题,之前对于分布式事务的解决方法一般会通过MQ的最终一致性来解决,尤其是RocketMQ的事务消息,感兴趣的可以看Spring Boot整合Rocke ...
- 对比 5 种分布式事务方案,还是宠幸了阿里的 Seata(原理 + 实战)
本来不知道写点啥,正好手头有个新项目试着用阿里的 Seata 中间件做分布式事务,那就做一个实践分享吧! 介绍 Seata 之前在简单回顾一下分布式事务的基本概念. 分布式事务的产生 我们先看看百度上 ...
- springcloud分布式事务_Springcloud 分布式事务集成Naco Seata
前言:分布式系统架构中,最最费劲的是分布式事务,分布式事务解决方案网上大致分为两种 消息一致性 基于TCC分布式事务 不管基于那种解决方案,都是对侵入的代码植入,以大量的代码或者消息来作为代价,来实现 ...
- druid seata 配置_五分钟体验分布式事务框架Seata
Seata 是一款开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务.Seata 将为用户提供了 AT.TCC.SAGA 和 XA 事务模式,为用户打造一站式的分布式解决方案.本教程 ...
- (2)搞一搞 seata 之 Spring Cloud 整合
前言, 上一篇博主使用的seata 版本和 spring cloud 版本有很大的问题, 导致netty 通信组件有很大的兼容问题, 本次博主的pom有大更新, 上一个篇博客, 就只能学习学分布式调用 ...
- seata+nacos出现can not register RM,err:can not connect to services-server
seata−server运行时指定地址和端口seata-server运行时指定地址和端口seata−server运行时指定地址和端口 ./seata-server.sh -h 123.51.272.2 ...
- 分布式事务Seata原理
一.Seata 介绍: 1.Seata 简介: Seata 是一款开源的分布式事务解决方案,致力于提供高性能与简单易用的分布式事务服务,为用户提供了 AT.TCC.SAGA 和 XA 几种不同的事务模 ...
最新文章
- java中batch基础_详解Spring batch 入门学习教程(附源码)
- bzoj 4016: [FJOI2014]最短路径树问题
- 使用git和github进行协同开发流程
- 学习Scala: 初学者应该了解的知识
- Egret入门学习日记 --- 第十一篇(书中 4.1~4.6节 内容)
- 迅雷一些版本下载链接
- 大数据集群监控体系架构
- 2018年交通运行年报发布,深圳交通高质量发展取得新突破
- 使用高德地图api在页面中展示地图
- 美团网官网最新底部导航页面制作及CSS样式设计
- Windows实现微信双(多)开—微信分身
- 【C语言作业7】猜数游戏:先由计算机“想”一个数请人猜,如果人猜对了,则计算机给出提示:“Right”,否则提示“Wrong”,并告诉人所猜的数是大还是小。
- WINDOWS更改无线网卡MAC地址的方法
- js串口 Java web串口 调用客户端的串口 串口上云 硬件上云
- JavaScript ES5
- 艾司博讯:拼多多拼单不想要了怎么退
- macbook使用指南
- 谭浩强c语言 读后感,读谭浩强C语言数据结构有感(1)
- 用HTML写一个消消乐代码
- 128M64K-40C 大家帮我看看DDR400 1G金士顿内存是真的还是水货?
热门文章
- 【评测】重组C因子法内毒素检测技术解析
- 软件工程毕业设计 SSM汽车租赁管理系统(源码+论文)
- 接收前端传过来的图片文件,并保存到电脑磁盘中
- Emgucv不完整图像分割试验(十九)——Emgucv实现ACE算法
- IBM内存分析工具JCA在windows环境下打开dump文件报错问题:Cannot find any thread dumps
- Tasker 手机短信自动转发
- rv1126--Create RKNN model fail, error=-13,rknn_init error ret=-13
- mock格式数据整理
- HDU1430,魔板
- 打赏php程序,php全开源视频传输打赏程序源码附带多种支付接口任选选择