首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏陶然同学博客

    Seata】初识Seata

    官网地址:Seata | Seata,其中的文档、播客中提供了大量的使用说明、源码分析。 1.Seata的架构 Seata事务管理中有三个重要的角色: TC (Transaction Coordinator) - 事务协调者:维护全局和分支事务的状态,协调全局事务提交或回滚。 2.部署TC服务 参考课前资料提供的文档《 seata的部署和集成.md 》: 3.微服务集成Seata 我们以order-service为例来演示。         > <groupId>io.seata</groupId> <artifactId>seata-spring-boot-starter</artifactId> <! 4.动手实践 下面我们就一起学习下Seata中的四种不同的事务模式。

    43320编辑于 2023-10-14
  • 来自专栏全栈程序员必看

    springcloud seata_seata github

    1.下载seata 1.4.1 下载地址自行百度 2.解压下载的文件 ,修改圈出来的两个文件的配置 file.conf ## transaction log store, only used in seata-server store { ## store mode: file、db、redis mode = "db" ## file store property file { widows直接点击 linux:sh seata-server.sh linux后台启动方式 :nohup . /seata-server.sh > /dev/seata-service.log 2>&1 & seata启动完毕后,开始项目整合 在需要添加事务的服务下面添加这两个文件 file.conf transport --分布式事务解决方案seata依赖--> <dependency> <groupId>io.seata</groupId> <artifactId

    42220编辑于 2022-09-24
  • 来自专栏陶然同学博客

    Seataseata的部署和集成

    一、部署Seata的tc-server 1.下载 首先我们要下载seata-server包,地址在http://seata.io/zh-cn/blog/download.html 当然,课前资料也准备好了 打开浏览器,访问nacos地址:http://localhost:8848,然后进入服务列表页面,可以看到seata-tc-server的信息: 二、微服务集成seata 1.引入依赖 首先,我们需要在微服务中引入 --seata starter 采用1.4.2版本--> <dependency>    <groupId>io.seata</groupId>    <artifactId>seata-spring-boot-starter seata的tc服务节点: 节点名称 ip地址 端口号 集群名称 seata 127.0.0.1 8091 SH seata2 127.0.0.1 8092 HZ 之前我们已经启动了一台seata服务 现在,将seata目录复制一份,起名为seata2 修改seata2/conf/registry.conf内容如下: registry {  # tc服务的注册中心类,这里选择nacos,也可以是eureka

    1K10编辑于 2023-10-14
  • 来自专栏IT云清

    seata教程-Seata 1.0版本整合教程

    项目地址:https://github.com/seata/seata 官网地址:https://seata.io/ seata 1.0教程 技术选型及版本 spring-cloud-starter-alibaba-seata :2.0.0 java:jdk8 1.启动seata server 下载包:https://github.com/seata/seata/releases 解压:tar -xzvf seata-server 传递支持数据源自动代理自动初始化GlobalTransactionScanner入口seata-all否否是否seata-spring-boot-starter是否是是spring-cloud-alibaba-seata spring-cloud-alibaba-seata,2.1.0内嵌seata-all 0.7.1,2.1.1内嵌seata-all 0.9.0。 --seata-all--> <dependency> <groupId>io.seata</groupId> <artifactId>seata-all</artifactId>

    89810编辑于 2022-05-07
  • 来自专栏Java啊

    SpringCloudAlibaba之Seata

    Seata概述 Seata是一款开源的分布式事务解决方案,致力于在微服务架构下提供高性能和简单易用的分布式事务服务。 Seata-Server1.4.2安装 下载地址 SEATA 的分布式交易解决方案 我们只需要使用一个 @GlobalTransactional 注解在业务方法上: 解压文件到指定目录并修改conf - seata-server-1.4.2\seata\bin\seata-server.bat Seata业务数据库准备 这里我们会创建三个服务,一个订单服务,一个库存服务,一个账户服务。 创建业务数据库 seata_ order:存储订单的数据库; seata_ storage:存储库存的数据库; seata_ account:存储账户信息的数据库。 建库SQL CREATE DATABASE seata_order; CREATE DATABASE seata_storage; CREATE DATABASE seata_account; 按照上述

    36230编辑于 2022-12-27
  • 来自专栏java学习java

    Seata之AT模式

    seata的AT模式是一个无侵入的分布式事务。 AT模式前提基于支持本地 ACID 事务的关系型数据库。Java 应用,通过 JDBC 访问数据库。 具体使用 修改application.yml文件(每个参与事务的微服务),开启XA模式:seata: data-source-proxy-mode: AT给发起全局事务的入口方法添加@GlobalTransactional 小结 性能:高模式:AP,存在数据不一致的中间状态难易程度:简单,靠SEATA自己解析反向SQL并闻滚使用要求:所有服务与数据库必须要自己拥有管理权,因为要创建UNDO LOG表应用场景:高并发互联网应用

    70700编辑于 2023-11-29
  • 来自专栏TopCoder

    seata AT模式流程

    Seata 是一款阿里开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务。 Seata 将为用户提供了 AT、TCC、SAGA 和 XA 事务模式,为用户打造一站式的分布式解决方案,github地址:https://github.com/seata/seata。 ,需自定义prepare/commit/rollback操作,对业务有侵入; XA:基于数据库的XA实现,目前最新版seata已实现该模式。 如果应用在特定场景下,必须要求全局的 读已提交 ,目前 Seata 的方式是通过 SELECT FOR UPDATE 语句的代理: ? 既然说到了undolog,seata中是如何记录的呢?

    1.4K10发布于 2021-01-28
  • 来自专栏后端技术学习

    Seata学习整理

    以下代码基于seataseata-example 一、Seata使用的业务场景 在配车的业务中,我们使用了Seata的分布式事务来保证配车的业务逻辑能够正常时,才会做订单信息推送到财务系统。 我们的系统配车业务一开始使用Seata的TCC模式来实现的,需要自己实现try和confirm或者cancel的逻辑。之后,由于seata推出了AT模式,之后系统采用的分布式事务使用的是AT模式。 首先Seata分为两端,Seata Server和Seata Client。TC作为Seata的Server端,而RM和TM作为客户端。由于其是注解,因此,我们可以想象得到应该是基于全局事务注解。 下面我们下载seata的源码,基于seata的源码进行学习。 二、Seata服务端启动 首先启动Seata Server: 可以看到Seata Server主要做了这样几件事: 1)初始化监控度量信息 2)初始化改良版雪花算法UUID 3) 初始化SessionHolder

    46020编辑于 2023-02-28
  • 来自专栏golang算法架构leetcode技术php

    seata(4):dubbo

    接下来学习下dubbo的例子,首先还是启动seata和mysql % docker compose -f seata/exp2/docker-compose.yaml up 然后创建数据库 ,添加表 mysql> create database seata; Query OK, 1 row affected (0.00 sec) mysql> use seata Database changed to local registry url : injvm://127.0.0.1/io.seata.samples.dubbo.service.AccountService? url dubbo://192.168.0.100:20881/io.seata.samples.dubbo.service.AccountService? 可以看到,seata可以非常容易和dubbo结合,执行分布式事务。

    38940编辑于 2023-09-21
  • 来自专栏码出code

    Seata 环境搭建

    seata版本: 1.5.2 前提准备 Seata是一个分布式事务,seata服务端也是一个微服务,需要和其他微服务一样需要注册中心和配置中心。同时事务回滚,需要数据库日志记录。 解压文件后进入seata文件。 、registry: 4.1 seata.store seata.store配置seata的存储,修改store.mode="db": seata: store: # support: file 4.3 seata.registry seata.registry是配置注册中心相关字段,将seata服务作为一个微服务注册到注册中心。 启动服务,成功登陆seata控制台。 查看nacos控制台,服务列表新增seata服务。 参考 Seata新手部署指南

    81230编辑于 2023-02-26
  • 来自专栏IT云清

    Seata 事务分组

    本文链接:https://blog.csdn.net/weixin_39800144/article/details/100740420 Seata 事务分组: 1.什么是事务分组? A:事务分组是 Seata 的资源逻辑,类似于服务实例。 一个seata-server可以管理多个事务分组。 2.通过事务分组如何找到后端集群? 本文整理自Seata官方。

    1.8K10发布于 2019-10-25
  • 来自专栏golang算法架构leetcode技术php

    seata(5):dubbo

    <bean class="io.<em>seata</em>.spring.annotation.GlobalTransactionScanner"> <constructor-arg value="dubbo-demo-app

    24810编辑于 2023-09-22
  • 来自专栏kafka专栏

    Seata】分布式事务框架Seata踩坑集锦

    1.确认自己seata-server启动了 2.确认客户端启动的时候连接配置是正确的 例如:seata-server选择的注册中心是redis; 配置 cluster=default ? 因为我的是用seata-spring-boot-starter方式启动的;然后又手贱配置了GlobalTransactionScanner ? 但是,没有必要手动配置 配置 GlobalTransactionScanner,使用 seata-all 时需要手动配置,使用 seata-spring-boot-starter 时无需额外处理。 解决方案 :把key删掉重新启动 seata-server ---- 坑5 Could not initialize class io.seata.rm.datasource.undo.UndoLogParserFactory $SingletonHolder 接入Seata的时候 有报下面的错误 java.lang.NoClassDefFoundError: Could not initialize class io.seata.rm.datasource.undo.UndoLogParserFactory

    6.3K60发布于 2021-07-14
  • 来自专栏快乐阿超

    docker运行seata

    ——乔叟 https://hub.docker.com/r/seataio/seata-server 命令: docker run --name seata-server -p 8091:8091 -p 7091:7091 seataio/seata-server:latest 自定义配置文件: docker run --name seata-server \ -p 8091:8091 \ -p 7091:7091 \ -e SEATA_CONFIG_NAME=file:/root/seata-config/registry \ -v /PATH/TO/CONFIG_FILE:/root/seata-config \ seataio/seata-server 指定ip docker run --name seata-server docker-compose.yaml version: "3.1" services: seata-server: image: seataio/seata-server:latest

    41510编辑于 2023-12-27
  • 来自专栏golang算法架构leetcode技术php

    seata(6):nacos

    seata除了使用文件作为默认的配置中心和服务发现外,还可以使用nacos,我们学习下如何配置:首先启动mysql、nacos、seata,然后copy默认配置进行修改 # docker run -p 8091:8091 -e SEATA_IP=你想指定的ip -e SEATA_PORT=8091 seataio/seata-server:1.4.2 version: "3.1" services : - STORE_MODE=db # 以SEATA_IP作为host注册seata server # - SEATA_IP=host.docker.internal seata-server/resources - /Users/xiazemin/logs:/root/logs/seata/ depends_on: - mysql password: seata seata: config: # support: nacos, consul, apollo, zk, etcd3 type: nacos

    44810编辑于 2023-09-23
  • 来自专栏TopCoder

    seata RM源码分析

    Seata 是一款阿里开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务。 Seata 将为用户提供了 AT、TCC、SAGA 和 XA 事务模式,为用户打造一站式的分布式解决方案,github地址:https://github.com/seata/seata。 RM模块是seata中全局事务参与者,其核心逻辑有: 启动netty客户端:会启动RM客户端与TC通信 数据源切面代理:SQL解析、分支事务注册/提交、undolog保存、分支事务状态上报 Rpc代理: 在RPC流程中传递seata上下文(xid等,非本文分析重点) ? 下面就重点关注下RM侧特有的一些消息处理器类,也就是在方法io.seata.core.rpc.netty.RmNettyRemotingClient#registerProcessor中注册的各种处理器

    79210发布于 2021-02-26
  • 来自专栏IT云清

    Seata 0.8.0 正式发布

    java4all原创,欢迎关注 摘要:Seata 0.8.0 正式发布。 Seata 0.8.0 正式发布。 Seata是阿里巴巴开源的分布式事务中间件,以高效并且对业务0 侵入的方式,解决微服务场景下面临的分布式事务问题。 ; 8.支持 mysql preparedStatement 非自增批量插入; 9.支持兜底定时删除 undolog 使用protobuf codec; 10.支持兜底定时删除 undolog 使用 seata Lanscape: 图片来源:seata 在最初的Roadmap中,是在V1.5.x开始支持Oracle, PostgreSQL, OceanBase的,现在看来,发展是超预期的,期待着v1.0.0版本 欢迎试用,一起完善Seata!让广大开发者不再为分布式事务解决方案而烦恼!

    62410发布于 2020-01-13
  • 来自专栏JavaJourney

    Seata 番外篇:使用 docker-compose 部署 Seata Server 及 K8S 部署 Seata 高可用

    /seata-config/registry.conf:/seata-server/resources/registry.conf" seata-server-2: image: seataio - SEATA_PORT=8092 - SEATA_IP=192.168.242.16 - SEATA_CONFIG_NAME=file:/seata-server/resources /seata-config/registry.conf:/seata-server/resources/registry.conf" seata-server-3: image: seataio - SEATA_PORT=8093 - SEATA_IP=192.168.242.16 - SEATA_CONFIG_NAME=file:/seata-server/resources : SEATA_CONFIG_NAME value: file:/root/seata-config/registry - name: SEATA_IP

    2.8K20编辑于 2023-09-01
  • 来自专栏IT云清

    seata整合踩坑

    creating bean with name 'seataBeanPostProcessor' defined in class path resource [com/alibaba/cloud/seata creating bean with name 'seataFeignObjectWrapper' defined in class path resource [com/alibaba/cloud/seata creating bean with name 'seataFeignObjectWrapper' defined in class path resource [com/alibaba/cloud/seata

    1.5K10发布于 2020-01-13
  • 来自专栏后端技术学习

    Seata学习整理二

    前面说过,seata在做二阶段提交前会生成前镜像、执行sql、生成后镜像。那么首先需要做的是,有数据源进行连接,然后需要对表的元数据信息进行抽取。这样才可以进行前镜像以及后镜像的操作。 一、初始化数据源元数据信息 可以看到io.seata.rm.datasource.DataSourceProxy中的构造函数会执行初始化方法 public DataSourceProxy(DataSource statementProxy, statementCallback); break; } 三、一阶段sql执行前后操作 可以看到在io.seata.rm.datasource.exec.AbstractDMLBaseExecutor

    39030编辑于 2023-02-28
领券