首页 > 其他分享 >SEATA-1.6.1

SEATA-1.6.1

时间:2023-04-22 17:44:54浏览次数:56  
标签:1.6 VARCHAR SEATA lock KEY key id seata

一、简介

  • 本文主要介绍分布式事务框架seata(seata版本1.6.1)的window版本安装以及springboot与seata的整合的事务回滚案例;
  • seata的官方文档路径: http://seata.io/zh-cn/
  • 本文介绍的方式是AT模式,采用的中间件是nacos,存储类型为db模式;
  • 本文默认你已会nacos的安装,如果不会请移步nacos的官方文档进行搭建;

二、Seata服务端部署

2.1 下载seata-server服务端

2.2 配置数据库

-- -------------------------------- The script used when storeMode is 'db' --------------------------------
-- the table to store GlobalSession data
CREATE TABLE IF NOT EXISTS `global_table`
(
    `xid`                       VARCHAR(128) NOT NULL,
    `transaction_id`            BIGINT,
    `status`                    TINYINT      NOT NULL,
    `application_id`            VARCHAR(32),
    `transaction_service_group` VARCHAR(32),
    `transaction_name`          VARCHAR(128),
    `timeout`                   INT,
    `begin_time`                BIGINT,
    `application_data`          VARCHAR(2000),
    `gmt_create`                DATETIME,
    `gmt_modified`              DATETIME,
    PRIMARY KEY (`xid`),
    KEY `idx_status_gmt_modified` (`status` , `gmt_modified`),
    KEY `idx_transaction_id` (`transaction_id`)
) ENGINE = InnoDB
  DEFAULT CHARSET = utf8mb4;

-- the table to store BranchSession data
CREATE TABLE IF NOT EXISTS `branch_table`
(
    `branch_id`         BIGINT       NOT NULL,
    `xid`               VARCHAR(128) NOT NULL,
    `transaction_id`    BIGINT,
    `resource_group_id` VARCHAR(32),
    `resource_id`       VARCHAR(256),
    `branch_type`       VARCHAR(8),
    `status`            TINYINT,
    `client_id`         VARCHAR(64),
    `application_data`  VARCHAR(2000),
    `gmt_create`        DATETIME(6),
    `gmt_modified`      DATETIME(6),
    PRIMARY KEY (`branch_id`),
    KEY `idx_xid` (`xid`)
) ENGINE = InnoDB
  DEFAULT CHARSET = utf8mb4;

-- the table to store lock data
CREATE TABLE IF NOT EXISTS `lock_table`
(
    `row_key`        VARCHAR(128) NOT NULL,
    `xid`            VARCHAR(128),
    `transaction_id` BIGINT,
    `branch_id`      BIGINT       NOT NULL,
    `resource_id`    VARCHAR(256),
    `table_name`     VARCHAR(32),
    `pk`             VARCHAR(36),
    `status`         TINYINT      NOT NULL DEFAULT '0' COMMENT '0:locked ,1:rollbacking',
    `gmt_create`     DATETIME,
    `gmt_modified`   DATETIME,
    PRIMARY KEY (`row_key`),
    KEY `idx_status` (`status`),
    KEY `idx_branch_id` (`branch_id`),
    KEY `idx_xid` (`xid`)
) ENGINE = InnoDB
  DEFAULT CHARSET = utf8mb4;

CREATE TABLE IF NOT EXISTS `distributed_lock`
(
    `lock_key`       CHAR(20) NOT NULL,
    `lock_value`     VARCHAR(20) NOT NULL,
    `expire`         BIGINT,
    primary key (`lock_key`)
) ENGINE = InnoDB
  DEFAULT CHARSET = utf8mb4;

INSERT INTO `distributed_lock` (lock_key, lock_value, expire) VALUES ('AsyncCommitting', ' ', 0);
INSERT INTO `distributed_lock` (lock_key, lock_value, expire) VALUES ('RetryCommitting', ' ', 0);
INSERT INTO `distributed_lock` (lock_key, lock_value, expire) VALUES ('RetryRollbacking', ' ', 0);
INSERT INTO `distributed_lock` (lock_key, lock_value, expire) VALUES ('TxTimeoutCheck', ' ', 0);

标签:1.6,VARCHAR,SEATA,lock,KEY,key,id,seata
From: https://www.cnblogs.com/qjwyss/p/17343572.html

相关文章

  • 1.6 牛顿迭代法求方程根
    第一部曲: 第二部曲:第三部曲:第四部曲:#include<iostream>#include<cmath>usingnamespacestd;doubleresult(doublea,doubleb,doublec,doubled){ doublex0,x=1.5,f,fd,h; do { x0=x; f=a*x0*x0*x0+b*x0*x0+c*x0+d; fd=3*a*x0+2*b*x0+c; h=f/fd; x=x0-h; }while(......
  • 入手一块s3610 1.6T 检查
    入手一块s36101.6T检查SMART信息SSD-Z检查HardDisk哨兵第一次看到哨兵与cdi上寿命显示不一致的,这里显示90%,cdi上面显示100%Aida64用usb3.0测CDM测速HD-TunePro测速......
  • Seata分布式事务
    Seata目录旁边可以查询具体的目录结构和跳转一.分布式事务 1.原子性(atomicity):个事务是一个不可分割的工作单位,事务中包括的诸操作要么都做,要么都不做。  2.一致性(consistency):事务必须是使数据库从一个一致性状态变到另一个一致性状态,事务的中间状态不能被观察到的。  ......
  • Seata:连接数据与应用
    作者:季敏(清铭)Seata开源社区创始人,分布式事务团队负责人。本文主要介绍分布式事务从内部到商业化和开源的演进历程,Seata社区当前进展和未来规划。Seata是一款开源的分布式事务解决方案,旨在为现代化微服务架构下的分布式事务提供解决方案。Seata提供了完整的分布式事务解决方案,包......
  • seata学习AT模式
    注意点这里版本seata1.4.2(启动直接bin目录下面bat文件启动)数据库代理enable-auto-data-source-proxy这个配置默认开启(默认开启,配置相关配置就可以使用seata了),切换其他的可以自己配置。版本问题官网参考具体教程1.背景介绍Seata是一款开源的分布式事务解决......
  • Springboot整合Seata实现分布式事务
    前言Seata是一款开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务。Seata将为用户提供了AT、TCC、SAGA和XA事务模式,为用户打造一站式的分布式解决方案。Seata配置非常灵活,支持多种注册中心、配置来源(配置中心)和持久化方式。本文选择eureka作注册中......
  • OPNET网络仿真分析-1.6、OPNET软件使用
    OPENT网络仿真分析(作者:栾鹏、陈玓玏)1.6、OPNET软件使用1.6.1、菜单栏介绍在子网模块界面,OPNET菜单栏工具栏如图所示。第一部分:文件操作点击File,弹出如图1-9所示。(1)点击New,弹出新建内容窗口,会有多种创建内容选择。点击Open和Save以及SaveAs同样会有不同的文件格式类型。OPNET文件......
  • 浅谈分布式事务-Seata
    传统的单机事务。在传统数据库事务中,必须要满足四个原则(ACID):ACID:Atomic(原子性)、Consistency(一致性)、Isolation(隔离性)和Durability(持久性)原子性(Atomicity)一个事务(transact......
  • Seata锁等待超时问题排查
    生产环境,一个简单的事务方法,提交失败,报Globallockwaittimeout伪代码如下:@GlobalTransactional(rollbackFor=Exception.class,timeoutMills=30000,lockRetryInter......
  • lessmsi v1.6.1
    一个开源的小巧的解压微软MSI文件的工具软件下载:https://github.com/activescott/lessmsi/archive/v1.6.1.zip用法:lessmsix<msiFileName>[<outouptDir>]......