基于AT模式

创建undo_log(回滚日志表)表, 每个数据库需要创建

注意:UNDO_LOG Table:不同数据库在类型上会略有差别。详见官网

-- 注意此处0.7.0+ 增加字段 context
CREATE TABLE `undo_log` (`id` bigint(20) NOT NULL AUTO_INCREMENT,`branch_id` bigint(20) NOT NULL,`xid` varchar(100) NOT NULL,`context` varchar(128) NOT NULL,`rollback_info` longblob NOT NULL,`log_status` int(11) NOT NULL,`log_created` datetime NOT NULL,`log_modified` datetime NOT NULL,PRIMARY KEY (`id`),UNIQUE KEY `ux_undo_log` (`xid`,`branch_id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;

下载部署Seata的TC服务端(本次教程下载的版本是 1.5.1)

  • 下载地址:https://seata.io/zh-cn/blog/download.html

  • Linux/Mac 服务器安装

    • 解压
      - /seata-server.sh 启动,默认是8091端口(记得防火墙开放端口,也可以守护进程启动)
  • TC需要存储全局事务和分支事务的记录,支持三种存储模式

    • file模式 (默认):性能高, 适合单机模式,在内存中读写,并持久化到本地文件中

      • bin/sessionStore/root.data文件
    • db模式 :性能较差,适合tc集群模式

    • redis模式:性能较高,适合tc集群模式

常见问题

seata 在 JDK11下运行报错

解决: 下载下来的seata 默认没有存放日志文件的目录, 手动创建seata/logs/seata_gc.log 目录和文件

SpringCloudAlibaba整合分布式事务seata

各项目添加依赖

出现的问题:no available service 'null' found, please make sure registry config correct
安装的服务端版本必须要和你客户端的版本保持一样

  • 不可行导入依赖方式
     <!--alibaba微服务整合分布式事务, mvn 包冲突 不可行 --><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-seata</artifactId></dependency>
  • 合理的依赖方式(seata-spring-boot-starter 版本 与 部署的TC服务端版本一致
     <!--alibaba微服务整合分布式事务--><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-seata</artifactId><exclusions><exclusion><groupId>io.seata</groupId><artifactId>seata-spring-boot-starter</artifactId></exclusion></exclusions></dependency><dependency><groupId>io.seata</groupId><artifactId>seata-spring-boot-starter</artifactId><version>1.5.1</version></dependency>

各微服务配置文件修改

#seata配置
seata:tx-service-group: ${spring.application.name}-groupservice:grouplist:testdemo: 127.0.0.1:8091vgroup-mapping:testdemo-user-service-group: testdemo

启动事务

在开始业务方法上添加 @GlobalTransactional 注解

SpringCloudAlibaba 微服务整合分布式事务Seata相关推荐

  1. 微服务框架 SpringCloud微服务架构 分布式事务 38 动手实践 38.2 实现XA 模式

    微服务框架 [SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式,系统详解springcloud微服务技术栈课程|黑马程序员Java微服务] 分布式事务 文章目录 微服务 ...

  2. 【实践篇】SpringCloud + Eureka + Mybatis plus 整合分布式事务Seata

    纵观全文 项目简介 配置Seata Server服务 修改conf下的registry.conf文件 修改conf下的file.conf文件 启动seata server服务 在系统服务中配置使用Se ...

  3. 阿里P9:做了6年架构设计,这次聊聊微服务与分布式事务细节

    微服务因其高内聚.低耦合.高扩展.敏捷开发为很多企业所用,当然,没有任何一项技术是完美的.系统微服务化后,一个看似简单的功能,内部可能需要调用多个服务并操作多个数据库实现. 毫不夸张地说,分布式事务已 ...

  4. 微服务下分布式事务模式的详细对比

    点击上方"朱小厮的博客",选择"设为星标" 后台回复"书",获取 后台回复"k8s",可领取k8s资料 作为 Red H ...

  5. spring cloud alibaba + tx-lcn 实现微服务的分布式事务管理

    Spring Cloud Alibaba官方文档:https://github.com/alibaba/spring-cloud-alibaba/blob/master/README-zh.md Sp ...

  6. 微服务架构分布式事务解决方案设计思路-(概念篇)

    2019独角兽企业重金招聘Python工程师标准>>> 学习以电商购物支付流程中支付系统的支付结果处理为例(学习龙果支付) 第一节:了解常用的分布式解决方案 一.分布式事务方案:最终 ...

  7. (微服务)分布式事务-最大努力交付 消息最终一致性方案

    小插曲 本话题已收入视频讲座<Spring Cloud分布式事务解决方案>大家不妨围观下.开源项目: CoolMQ,项目支持网站: http://rabbitmq.org.cn,最新文章或 ...

  8. 分布式事务 seata 最全入门教程

    基本介绍 什么是分布式事务 指一次大的操作由不同的小操作组成的,这些小的操作分布在不同的服务器上,分布式事务需要保证这些小操作要么全部成功,要么全部失败.从本质上来说,分布式事务就是为了保证不同数据库 ...

  9. 微服务和分布式的区别

    分布式架构是分布式计算技术的应用和工具,目前成熟的技术包括J2EE, CORBA和.NET(DCOM),这些技术牵扯的内容非常广,相关的书籍也非常多,也没有涉及这些技术的细节,只是从各种分布式系统平台 ...

最新文章

  1. hdu 2085 核反应堆
  2. python语言介绍-Python语言简介
  3. APP推广方法-导图
  4. ora-12514报错解决方法
  5. Linux第六周学习总结——进程额管理和进程的创建
  6. python 下标越界_Python中异常处理
  7. PAT 1073 多选题常见计分法(20)(代码+思路)
  8. ajax数据显示,使用js通用模板
  9. matlab mysql数据库增删改查_ef6.0增删改查操作
  10. C语言程序设计知识必备pdf,C语言程序设计基础知识要点.pdf
  11. OSGEARTH三维地形开源项目
  12. 微软洪小文全面解读智能层级:目前的智能都是AI+HI
  13. word中正文分栏重新换页问题
  14. linux删除卸载npm,卸载安装node npm (Mac linux )
  15. Cortana 设备建议
  16. UE4之替换第三人称模板
  17. 观看《创新的力量》观后感
  18. mysql备份脚本 shell_linux中mysql备份shell脚本代码 相关自动化脚本
  19. c# 获取路径的盘符_C# 如何获取映射网络驱动器的共享路径 | 学步园
  20. raid0 raid1 raid5 raid6 raid10的优缺点

热门文章

  1. html 画廊代码,HTML5实践-使用css装饰图片画廊的代码分享(二)
  2. 【单片机毕业设计】【mcuclub-302】指纹密码锁 | 智能锁 | 多功能锁 | 指纹锁 | 电子密码锁 | 智能门锁
  3. 外贸行业email邮箱购买如何申请?
  4. 鸿蒙系统配在华为什么手机上,鸿蒙系统什么时候能用 鸿蒙系统哪些手机可以用...
  5. idea配置git(附错误解决方法)
  6. OKCC效率低及通话声音小怎么办?
  7. JS正则表达式完全匹配字符
  8. 天猫盒子系统配置服务器失败怎么办,天猫魔盒投屏失败怎么办,其实可以自己解决!...
  9. java8重写comparator,Java 8 Lambda : Comparator 示例
  10. 2021-08-23 JSON