seata-1.4.0安装及在springcloud中使用详解

seata-1.4.0安装及在springcloud中使用详解

Seata是一款分布式事务解决方案,提供了对Spring Cloud、Dubbo等微服务框架的支持。本篇攻略将详细讲解Seata-1.4.0的安装及在Spring Cloud中的使用方法。

安装Seata-1.4.0

  1. 下载Seata-1.4.0

可以从官网 http://seata.io/zh-cn/ 下载Seata-1.4.0的安装包。

  1. 解压安装包

解压文件到指定文件夹,例如解压到 /usr/local/seata 目录中。

  1. 修改配置文件

进入 /usr/local/seata/conf 目录,编辑 file.conf 文件,并修改 mode、store.mode 和 store.file.mode 三个参数的值,让它们都等于 file:

```
## transaction log store
store {
## store mode: file、db
## store.mode = "file"
mode = "file"

 ## file store
 file {
   ## store location dir
   dir = "sessionStore"

   ## branch session size , if exceeded first try compress lockkey and retry write acoss different files
   max-branch-session-size = 16384

   ## file size threshold, above which it is divided into multiple files
   file-size-limit = "16MB"

   ## flush disk mode, sync、async
   flush-disk-mode = async

   ## flush interval, unit ms
   flush-disk-interval = 1000

   ## compression type, none、gzip
   compress = none

   ## branch session expire time ,the unit is minute
   max-branch-session-age = 1440

   ## file store mode: memory,mmap
   store-file-mode = "file"
 }

}
```

  1. 启动Seata服务

进入 /usr/local/seata/bin 目录,并执行以下命令:

sh seata-server.sh -p 8091 -m file

即可启动Seata服务。

在Spring Cloud中使用Seata-1.4.0

  1. 引入Seata的依赖

在 Spring Boot 项目的 pom.xml 文件中,添加以下依赖:

xml
<dependency>
<groupId>io.seata</groupId>
<artifactId>seata-spring-boot-starter</artifactId>
<version>1.4.0</version>
</dependency>

  1. 启用Seata的自动配置

在Spring Boot项目的配置类中添加注解@EnableAutoDataSourceProxy和@EnableSeata ,示例如下:

java
@SpringBootApplication
@EnableDiscoveryClient
@EnableFeignClients
@EnableAutoDataSourceProxy
@EnableSeata
public class OrderApplication {
public static void main(String[] args) {
SpringApplication.run(OrderApplication.class, args);
}
}

  1. 配置Seata的参数

在项目的 application.yml 文件中配置Seata的参数,示例如下:

yaml
spring:
cloud:
alibaba:
seata:
tx-service-group: my_test_tx_group
seata:
enabled: true
application-id: order-service
tx-service-group: my_test_tx_group
config:
type: file
file:
name: 'file:/usr/local/seata/conf/registry'
service:
vgroupMapping.my_test_tx_group: default
default.grouplist: 127.0.0.1:8091

  1. 在业务代码中使用Seata

在需要进行分布式事务管理的方法上添加@GlobalTransactional注解,示例如下:

java
@Service
public class OrderService {
@GlobalTransactional
public String createOrder(OrderInfo orderInfo) {
// 业务代码
}
}

  1. 对Seata进行测试

使用Postman或其他工具发送POST请求:

POST http://localhost:9500/order/create
{
"skuId": 1,
"count": 2,
"totalAmount": 100
}

如果返回结果成功,那么Seata在Spring Cloud中的配置就已经完成了。

示例说明

以下是两个使用Seata的简单示例:

  1. 使用Seata进行分布式事务管理的简单示例

在一个微服务中需要对多个服务进行调用,要保证这些调用全部成功或全部失败。这时,可以使用Seata对分布式事务进行管理,保证数据的一致性和完整性。

  1. 使用Seata对订单库存进行管理的示例

在执行订单操作的时候,需要对商品库存进行检查,如果库存不足则不能执行订单操作。此时,可以使用Seata对商品库存的操作进行管理,保证在执行订单的同时,库存数量得到正确的维护。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:seata-1.4.0安装及在springcloud中使用详解 - Python技术站

(0)
上一篇 2023年5月21日
下一篇 2023年5月21日

相关文章

  • Mysql多表操作方法讲解教程

    Mysql是一款强大的关系型数据库,可用于存储和管理大量数据。在现实的项目开发中,数据库往往由多张表组成,需要使用多种SQL语句来进行操作。本教程将详细讲解Mysql多表操作的方法,包括表的连接、联合查询、子查询等技术,帮助读者更好地进行数据库的开发和管理。 一、表的连接 内连接:根据两个表中的公共列进行匹配,只选择匹配项。 SELECT * FROM 表A…

    database 2023年5月22日
    00
  • Redis的Cluster集群搭建的实现步骤

    下面我来详细讲解Redis的Cluster集群搭建的实现步骤。 一、什么是Redis的Cluster集群 Redis的Cluster集群是指将多个Redis节点组成一个集群,共同协作对外提供服务。其中每个节点都存储着不同范围的key-value数据,并且这些节点可以互相通信,共同负责数据的存储和访问。 二、Redis的Cluster集群搭建步骤 环境搭建 首…

    database 2023年5月22日
    00
  • SQL – DROP 和 TRUNCATE

    下面是SQL中DROP和TRUNCATE的详细讲解。 DROP DROP 是指删除一张表,或者删除表中的一个或多个列。 语法 DROP TABLE table_name; 参数说明 TABLE table_name:要删除的表名。 实例说明 以下是删除表employees的例子: DROP TABLE employees; TRUNCATE TRUNCATE…

    database 2023年3月27日
    00
  • Java连接Vmware中的redis

    下面是连接Vmware中的Redis的完整步骤: 1. 准备工作 首先,需要确认 VMWare 中已经安装了 Redis,并且 Redis 服务已经启动。也需要准备好相应的开发环境,这里以 Java 开发环境为例。 2. 导入 Redis 客户端依赖 在 Java 项目中,可以使用 Redis 客户端来连接 Redis。常用的 Redis 客户端有 Jedi…

    database 2023年5月22日
    00
  • 一次简单的Oracle恢复Case实战记录

    一次简单的Oracle恢复Case实战记录 1. 背景 在日常的数据库管理工作中,可能会遇到因为各种原因导致数据丢失或者损坏的情况,此时需要进行数据库恢复操作,而Oracle数据库恢复是数据库管理员必备的技能之一。本文将介绍一次简单的Oracle恢复案例,演示如何在Oracle数据库中恢复数据。 2. 恢复准备 在进行恢复操作之前,需要进行相关的准备工作,主…

    database 2023年5月21日
    00
  • Python – Django – 使用 Pycharm 连接 MySQL 数据库

    在 Pycharm 的右上方找到 Database 点击 依次点击,选择 MySQL 数据库 点击 Download 下载驱动文件 下载完成后对数据库的相关信息进行填写 填写完成后点击“Test Connection”,如果出现 Successful 就说明连接成功 然后点击“应用”,再点击“确定” 左边这个窗口是写 SQL 语句的地方  例如查询 app0…

    MySQL 2023年4月13日
    00
  • mysql建表常用的sql语句汇总

    下面我将详细讲解“mysql建表常用的sql语句汇总”的完整攻略。 一、创建数据库 在使用mysql建表之前,我们需要根据需求创建一个数据库。创建数据库的sql语句如下: CREATE DATABASE mydb CHARACTER SET utf8 COLLATE utf8_general_ci; 上面的sql语句创建了一个名为mydb的数据库,并设置了数…

    database 2023年5月21日
    00
  • mysql杀进程脚本

    mysql>kill thread_id; kill掉第一个锁表的进程, 依然没有改善. 既然不改善, 咱们就想办法将所有锁表的进程kill掉吧, 简单的脚本如下. #!/bin/bashmysql -u root -e “show processlist” | grep -i “Locked” >> locked_log.txt for …

    MySQL 2023年4月12日
    00
合作推广
合作推广
分享本页
返回顶部