关于seata的详细使用成功案例

**前言:seata 用于解决微服务分布式事务问题,在一定程度上,可以很大程度的保证分布式事务的一致性,而且seata对于项目本身不会有业务上的入侵,完全是热插拔的一个功能,只需要使用@GlobalTransactional 注解,即可实现分布式事务的回滚,可以大大减少传统分布式架构,为了解决分布式事务一致而费力的去写补偿接口和补偿机制而带来的开发成本和维护成本
seata 官网:https://seata.io

一、项目环境 springboot+springcloudalibaba+seata+nacos
二、seata服务端的部署:

  1. 先查看官网文档

    请严格按照官网给出的版本组合来构建你的项目,如果你的项目的版本与官网的不匹配,强烈建议你修改你的版本,与官网的推荐版本一致,否则后续可能会出一些奇奇怪怪的问题,无法排除

  2. 去官网下载seata 服务端

下载对应的包,tar 是Linux使用的,zip是widows使用的,我这里下载的是Windows版本的1.3.0版本的
3. 解压
4减压过后,需要到官网去下载一个config.txt的文件,这里面是所有seata的配置 下载地址:https://github.com/seata/seata/blob/1.4.0/script/config-center/config.txt
然后放到 bin的同级目录下
4. 打开config.txt,修改里面的配置

  1. 找到conf文件夹下的file.conf文件,打开并编辑

  2. 修改配置:将mode改为“db”,其他非db的配置,不再生效。表示使用集群模式,此模式为高可用模式,并修改数据库连接信息,这里的数据库连接是指,seata服务端使用的专职数据库,与个人业务数据库无关,接下来我会讲到建立seata数据库

  3. 将seata服务注册到nacos上
    找到 conf文件下的registry.conf文件,打开并编辑
    标红的地方是要修改成自己的配置的

  4. 建立seata服务端转职数据库,建表语句下载
    https://github.com/seata/seata/tree/1.4.0/script/server/db
    下载自己对应的数据库建表语句,用于建立seata服务端的数据库

  5. 下载nacos-config.sh推送脚本,这个脚本的作用是,将config.txt文件里面的配置,推送到nacos去,当然如果你不嫌麻烦,你也可以按照config.txt里面的配置,一条一条的往nacos的配置中心去建

    然后,双击运行nacos-config.sh,开始推送配置到nacos

  6. 推送过后,在nacos上你会看到一堆配置,不要问为何那么多,seata就是这样设计的,它偏偏就要搞一大堆配置,然后还分别存放

  7. 启动seata 服务端。找到前面减压的安装包,找到bin目录下的seata-server.bat,双击运行,启动服务


启动成功!到此,服务端的部署已经大功告成!
三、seata客服端(也就是自己的项目端的配置)

  1. 引入jar依赖包
<dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-seata</artifactId><version>2.2.6.RELEASE</version></dependency><dependencyManagement><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-dependencies</artifactId><version>2.3.2.RELEASE</version><type>pom</type><scope>import</scope></dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>Hoxton.SR9</version><type>pom</type><scope>import</scope></dependency><!--为项目整合spring cloud alibaba--><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-alibaba-dependencies</artifactId><version>2.2.6.RELEASE</version><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement>

特别说明:jar包的版本,必须完全按照官网的推荐来引入,这里在开篇就已经说过了,这里再强调一遍

  1. 项目配置
spring:cloud:alibaba:seata:tx-service-group: my-test-tx-group
seata:config:type: nacosnacos:server-addr: 127.0.0.1:8848username: namespace: password: group: SEATA_GROUP

到此,客服端的配置已经完成,启动项目过后,可以在服务端看到注册成功

关于seata的详细使用成功案例相关推荐

  1. 阿里开源一站式分布式事务框架seata源码分析(AT模式下TM与RM分析)

    序言: 对于阿里开源分布式事务框架seata的详细了解可以参考官网,这里不会详细介绍.本章只会介绍seata中AT模式的源码分析(对阿seata有一定了解或者成功完成过demo). seata中一个事 ...

  2. 分布式事务:seata

    目录 一.事务简介 二.本地事务 三.常见的分布式事务解决方案 分布式事务理论基础 两阶段提交协议 两阶段提交协议的问题 AT模式(Auto Transaction) TCC模式 四.Seata Se ...

  3. Docker搭建Nacos1.3+Seata1.4+MySQL8分布式事务(服务端)

    一.docker启动seata 拉取镜像 docker pull seataio/seata-server:latest 第一次启动seata,复制出其配置的相关文件 docker run --nam ...

  4. gulimall技术栈笔记

    文章目录 1.项目背景 1.1电商模式 1.2谷粒商城 2.项目架构图 3.项目技术&特色 4.项目前置要求 5.分布式基础概念 5.1微服务 5.2集群&分布式&节点 5.3 ...

  5. 分布式事务之Seata中间件原理及流程详细分析

    转载自:https://blog.csdn.net/f4761/article/details/89077400 背景 在分布式系统中,分布式事务是一个必须要解决的问题,目前使用较多的是最终一致性方案 ...

  6. 分布式事务Seata详细使用教程

    分布式事务Seata使用 seata服务的本地化及docker部署见此教程:分布式事务Seata安装:本地部署.docker部署seata springboot项目配置 微服务环境:添加依赖 < ...

  7. 分布式事务Seata源码解析十:AT模式回滚日志undo log详细构建过程

    文章目录 一.前言 二.准备undo log 0.undo log 样例 1)undo log表结构 2)rollback_info(回滚日志数据) 1.before image的构建 1)业务表元数 ...

  8. (成功案例超详细保姆级)vs2019 opencv qt创建动态库被C#调用

    之前有个项目关于图像处理,既用到了opencv,还二次开发了相机提供的动态库.一开始我是用QT写的,然后发现人家只需要我提供一个库函数调用就可以了,但是他是用C#写的.没办法,到处找资料,但是没有找到 ...

  9. 成功案例超详细-vs2019 opencv qt创建动态库被C#调用

    之前有个项目关于图像处理,既用到了opencv,还二次开发了相机提供的动态库.一开始我是用QT写的,然后发现人家只需要我提供一个库函数调用就可以了,但是他是用C#写的.没办法,到处找资料,但是没有找到 ...

最新文章

  1. Sqrt(int x) leetcode java
  2. Hadoop入门进阶步步高(一)-环境准备
  3. 修改Git提交者昵称和邮箱
  4. SAP Spartacus的一个问题 - CheckoutStepsSetGuard无法import
  5. Spark记录-Scala数据类型
  6. 常用计算机二级函数,计算机二级MS office常用函数
  7. error C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead.
  8. 五大react生命周期使用注意事项,绝对干货
  9. linux脚本输出缓存上限,关于 Linux 下后台执行 Python 脚本的缓冲问题
  10. android:contentInsetStart android:contentInsetEnd contentInsetStart paddingstart paddingEnd
  11. 电脑格式化的危害_防止硬盘被格式化的六大方法
  12. 7.07 生成累积乘积
  13. 2022年Python最新面试题汇总及答案
  14. PLC(S7-200)通过自由通讯口方式与变频器通讯(VLT)
  15. VS编译间接引用的DLL不一定输出
  16. python程序设计从基础到开发课后题答案夏敏捷_Python程序设计——从基础到开发...
  17. Learning Deep Similarity Models with Focus Ranking for Fabric Image Retrieval 学习笔记
  18. 网页中加入最新款百度天气预报样式代码
  19. 对于line-height的认识
  20. 第十一届吴文俊人工智能科学技术奖颁奖盛典召开,66个项目成果摘得中国智能科学技术奖励最高殊荣

热门文章

  1. 阿里巴巴校招内推简历筛选方案(总结篇) 及面经
  2. docker打开2375
  3. SCOI2015 小凸玩密室
  4. 不死UBOOT下载链接
  5. web3j的基础用法-6合约的监听器事件Event和过滤器EthFilter,以及NullPointed,调用失败导致的bug解决
  6. 关注手游安全,揭秘Android手游破解全过程
  7. bind9的安装及使用
  8. 第一台计算机的目的是进行科学计算,计算机
  9. 牛客编程巅峰赛S2第5场 - 钻石王者 A.怕npy的牛牛
  10. 如何判断一个点在n边形中---向量叉乘