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表记录的前置镜像和后置镜像

表结构


总结

篇幅过长,不上代码了,环境搭建难,用起来就一个注解,总结一些理论

  1. AT/TCC/Saga事务模式
  2. 读写隔离
  3. 2pc,3pc
  4. base理论

seata-server相关推荐

  1. eureka server配置_springcloud+eureka整合分布式事务中间件seata

    今天继续给大家分享一下阿里的分布式事务中间件seata的使用,跟上篇文章<springboot多数据源整合分布式事务中间件seata>不一样的是,上篇文章是单服务绑定多数据源的分布式情况, ...

  2. GitHub标星14000+,阿里开源的SEATA如何应用到极致?

    作者简介:袁鸣凯,家乐福技术总监, 高知特有限技术公司中国区架构师,HP上海研发技术专家,夸客金融首席架构师,现任家乐福中国区技术总监.多年互联网.企业级SOA.微服务.全渠道中台方面的架构设计实战经 ...

  3. 五分钟体验分布式事务框架Seata

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 Seata 是一款开源的分布式事务解决方案,致力于提供高性能和简单 ...

  4. druid seata 配置_分布式事务解决方案——Seata使用

    在微服务开发过程中分布式事务一直是一个比较重要的问题,之前对于分布式事务的解决方法一般会通过MQ的最终一致性来解决,尤其是RocketMQ的事务消息,感兴趣的可以看Spring Boot整合Rocke ...

  5. 对比 5 种分布式事务方案,还是宠幸了阿里的 Seata(原理 + 实战)

    本来不知道写点啥,正好手头有个新项目试着用阿里的 Seata 中间件做分布式事务,那就做一个实践分享吧! 介绍 Seata 之前在简单回顾一下分布式事务的基本概念. 分布式事务的产生 我们先看看百度上 ...

  6. springcloud分布式事务_Springcloud 分布式事务集成Naco Seata

    前言:分布式系统架构中,最最费劲的是分布式事务,分布式事务解决方案网上大致分为两种 消息一致性 基于TCC分布式事务 不管基于那种解决方案,都是对侵入的代码植入,以大量的代码或者消息来作为代价,来实现 ...

  7. druid seata 配置_五分钟体验分布式事务框架Seata

    Seata 是一款开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务.Seata 将为用户提供了 AT.TCC.SAGA 和 XA 事务模式,为用户打造一站式的分布式解决方案.本教程 ...

  8. (2)搞一搞 seata 之 Spring Cloud 整合

    前言, 上一篇博主使用的seata 版本和 spring cloud 版本有很大的问题, 导致netty 通信组件有很大的兼容问题, 本次博主的pom有大更新, 上一个篇博客, 就只能学习学分布式调用 ...

  9. 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 ...

  10. 分布式事务Seata原理

    一.Seata 介绍: 1.Seata 简介: Seata 是一款开源的分布式事务解决方案,致力于提供高性能与简单易用的分布式事务服务,为用户提供了 AT.TCC.SAGA 和 XA 几种不同的事务模 ...

最新文章

  1. java中batch基础_详解Spring batch 入门学习教程(附源码)
  2. bzoj 4016: [FJOI2014]最短路径树问题
  3. 使用git和github进行协同开发流程
  4. 学习Scala: 初学者应该了解的知识
  5. Egret入门学习日记 --- 第十一篇(书中 4.1~4.6节 内容)
  6. 迅雷一些版本下载链接
  7. 大数据集群监控体系架构
  8. 2018年交通运行年报发布,深圳交通高质量发展取得新突破
  9. 使用高德地图api在页面中展示地图
  10. 美团网官网最新底部导航页面制作及CSS样式设计
  11. Windows实现微信双(多)开—微信分身
  12. 【C语言作业7】猜数游戏:先由计算机“想”一个数请人猜,如果人猜对了,则计算机给出提示:“Right”,否则提示“Wrong”,并告诉人所猜的数是大还是小。
  13. WINDOWS更改无线网卡MAC地址的方法
  14. js串口 Java web串口 调用客户端的串口 串口上云 硬件上云
  15. JavaScript ES5
  16. 艾司博讯:拼多多拼单不想要了怎么退
  17. macbook使用指南
  18. 谭浩强c语言 读后感,读谭浩强C语言数据结构有感(1)
  19. 用HTML写一个消消乐代码
  20. 128M64K-40C 大家帮我看看DDR400 1G金士顿内存是真的还是水货?

热门文章

  1. 【评测】重组C因子法内毒素检测技术解析
  2. 软件工程毕业设计 SSM汽车租赁管理系统(源码+论文)
  3. 接收前端传过来的图片文件,并保存到电脑磁盘中
  4. Emgucv不完整图像分割试验(十九)——Emgucv实现ACE算法
  5. IBM内存分析工具JCA在windows环境下打开dump文件报错问题:Cannot find any thread dumps
  6. Tasker 手机短信自动转发
  7. rv1126--Create RKNN model fail, error=-13,rknn_init error ret=-13
  8. mock格式数据整理
  9. HDU1430,魔板
  10. 打赏php程序,php全开源视频传输打赏程序源码附带多种支付接口任选选择