首页 > 其他分享 >SpringCloud Seata【解决分布式事务的问题】安装

SpringCloud Seata【解决分布式事务的问题】安装

时间:2023-12-14 12:01:29浏览次数:32  
标签:事务 服务 seata SpringCloud Server 分布式 Seata

SpringCloud Seata【解决分布式事务的问题】安装

1. 问题引出

1.1 单机单库(多表)处理事务示意图

1.2 分布式微服务架构下的数据库事务示意图


图片梳理:用户购买商品的业务逻辑。整个业务逻辑由3个微服务提供支持:

  1. 仓库服务:对给定商品 扣除商品数量
  2. 订单服务:根据采购需求创建订单
  3. 账户服务:从用户账户中扣除余额
    问题分析:
  • 单体应用被拆分成微服务应用,原来的三个模块被拆分成三个独立的应用,分别使用三个独立的数据源
  • 业务操作需要调用三个服务来完成。此时每个服务内部的数据一致性由本地事务来保证
  • 但是 全局的数据一致性 问题没法保证
  • 简单地说:一次业务操作需要跨多个数据源或跨多个系统进行远程调用,就会产生 分布式事务 问题

2. 安装 Seata

2.1 修改 file.conf


修改自定义的事务组

修改事务日志存储

相应修改用户名和密码

2.2 在 Mysql5.7 中创建 seata 数据库

在 seata 数据库建表,使用 seata 提供的 sql 脚本即可,在 seata 的 \conf\db_store.sql

运行后可以发现:建立了 3 张表

2.3 修改 registry.conf,配置注册中心 Nacos Server


3. 测试:看 Seata Server 是否安装成功

  • 启动 Nacos Server 8848
  • 双击 Seata 的 \bin\seata-server.bat,启动 Seata Server
  • 登录 Nacos Server,查看 Seata Server 是否注册成功

标签:事务,服务,seata,SpringCloud,Server,分布式,Seata
From: https://www.cnblogs.com/aclq/p/17900917.html

相关文章

  • .net core 分布式锁 之 基于 Redis 的 RedLock
    使用场景分布式锁的业务场景涉及到并发控制、任务调度、缓存更新、分布式事务和防止重复操作等方面,能够保证分布式系统的数据一致性和正确性。并发控制:当多个线程或进程同时访问共享资源时,使用分布式锁可以确保只有一个线程或进程能够访问该资源,避免数据竞争和并发冲突。分......
  • 探索服务网格与 OpenTelemetry 的协同之分布式跟踪
    在上一篇文章中,介绍了如何在k8s中无侵入安装Otel探针并实现了无侵入(某些语言还无法实现,比如Go的eBPF对内核的苛刻要求)的分布式跟踪。这篇文章发出后有读者评论javaagent的“无侵入”一说,这里有必要解释下。“无侵入”主要指的是不需要修改应用程序的业务逻辑代码就......
  • 分布式学习记录:第4天
       在分布式学习的探索之旅中,第四天我深入了解了分布式学习的并行计算和负载均衡技术。首先,我学习了分布式学习的并行计算技术。并行计算是分布式学习的重要手段之一,它可以通过将计算任务分配给多个计算节点,同时进行计算,以加速模型的训练过程。我学习了不同的并行计算方法,如数......
  • SpringCloud Seata 启动闪退
    SpringCloudSeata启动闪退查看报错--->虚拟机启动失败原因定位【JDK14丢弃了cms垃圾回收器,修改相应的GC参数即可】果报jvm启动失败,是因为启动参数的垃圾回收参数不对,应该是在jdk14之后,已经丢弃了cms垃圾回收器,所以修改相应的垃圾回收器参数即可。%JAVACMD%%JAVA_OP......
  • 分布式进阶-链路追踪SpringCloudSleuth、Zipkin【实战篇】
    一、前言我们在使用微服务的时候,往往设计到各个微服务之间的调用,肯定会存在深度的调用链路,如果出现BUG或者异常,就会让问题定位和处理效率非常低。有了Sleuth,就可以帮助我们记录、跟踪应用程序中的请求和操作。通常与Zipkin配合使用,从而提供更全面的可视化应用程序跟踪和分析功......
  • SpringCloud
    简介SpringCloud和SpringBoot之间有严格的版本对应关系,因此要小心选择版本,应该根据SpringCloud版本选择SpringBoot版本。本次课程选择SpringCloud的Hoxton.SR1版本,SpringBoot采用2.2.2.RELEASE版本,SpringCloudalibaba采用2.1.0.RELEASE版本。零基础部分父工程搭建Maven使用......
  • select for update在springboot里实现分布式锁
    //mapper,注意,这里的参数最好就是主键或者唯一键,否则产生的是表锁@Select("<script>select*fromfoowhereid=#{id}forupdate</script>")FooselectForUpdateById(@Param("id")Longid);//service,必须加事物,否则selectForUpdateById无法实现分布式锁的作用@Transac......
  • torch 多进程训练和分布式训练
    通常来说,多进程没有涉及到梯度同步的概念。分布式则设计梯度同步。分布式中,如果用cpu,则指定gloo后端。用gpu,则指定nccl后端。多进程训练只需要mp.spawn即可,每个进程只负责自己的模型训练,不涉及梯度同步。例子https://www.geeksforgeeks.org/multiprocessing-in-python-and-py......
  • 分布式学习记录:实践与体验
    第二天,我继续深入分布式学习的世界,通过实践来加深对分布式学习的理解。首先,我参与了一个分布式学习项目,负责其中一个计算节点的训练任务。这个项目使用了一种基于梯度下降的分布式学习算法,每个计算节点都拥有自己的数据子集,并独立进行模型训练。我负责其中一个节点的训练过程,通过不......
  • 分布式学习记录:探索与优化
    经过前面的学习,我对分布式学习有了基本的认识和理解。然而,分布式学习是一个充满挑战和机遇的领域,需要不断探索和优化。今天,我继续深入学习分布式学习,进一步了解其应用和优化方法。首先,我学习了分布式学习的调参技巧。在分布式学习中,参数的选择对学习效果有着重要的影响。我学习了如......