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

yizhihongxing

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日

相关文章

  • 如何使用Python将数据导出到CSV文件中?

    以下是如何使用Python将数据导出到CSV文件中的完整使用攻略,包括导入模块、连接数据库、执行查询操作、写入CSV文件等步骤。同时,提供两个示例以便更好理解如何使用Python将数据导出到CSV文件中。 步骤1:导入模块 在Python中,我们需要导入相应的模块来将数据导出到CSV文件中。以下是导入csv和pymysql模块的基本语法: import cs…

    python 2023年5月12日
    00
  • Python中optionParser模块的使用方法实例教程

    下面是关于Python中optionParser模块的使用方法实例教程的完整攻略。 什么是optionParser模块? Python中的optionParser模块是一个命令行选项解析器,它可以帮助我们轻松地在命令行中解析参数。 如何使用optionParser模块? 步骤1:导入optionParser模块 我们需要先导入optionParser模块,使…

    database 2023年5月21日
    00
  • Redis的启动和关闭(前台启动和后台启动)

    Centos中Redis的下载编译与安装(超详细): https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/103967334 在上面安装好Redis后会在安装目录下的bin下自动生成一堆脚本。     其中redis-server就是redis的服务端。 注: 博客:https://blog.c…

    Redis 2023年4月13日
    00
  • Ubuntu 服务器安装 MySQL 远程数据库的方法

    下面就为您介绍 Ubuntu 服务器安装 MySQL 远程数据库的详细步骤: 安装 MySQL 使用以下命令进行更新软件源 sudo apt update 执行以下命令安装 MySQL sudo apt install mysql-server 配置远程访问权限 MySQL 默认只允许本地访问,而为了在远程操作 MySQL 数据库,需要设置远程访问权限。 先…

    database 2023年5月22日
    00
  • Springboot mybais配置多数据源过程解析

    下面就详细讲解“Springboot mybais配置多数据源过程解析”的完整攻略。 一、引入依赖 首先,我们需要在pom.xml文件中引入相关的依赖,具体如下: <dependencies> <!–SpringBoot启动器–> <dependency> <groupId>org.springframew…

    database 2023年5月18日
    00
  • MySQL执行事务的语法与流程详解

    MySQL 执行事务的语法与流程详解 什么是事务? 事务是指作为单一逻辑工作单元执行的操作集合,具有以下四个属性:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)以及持久性(Durability)。 当进行一系列的操作时,要么全部执行成功,要么全部撤回,不能出现部分执行的情况。这就是 MySQL 所定义的事务的特性…

    database 2023年5月22日
    00
  • MySQL如何实现事务的ACID

    MySQL通过使用事务(Transaction)来保证数据的一致性和持久性。在MySQL中,一个事务可以由多条SQL语句所组成,而ACID是事务处理的重要属性,其中包括原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持久性(Durability)。 下面是MySQL如何实现事务的ACID: 1. 原子性(Atom…

    database 2023年5月22日
    00
  • MySQL查看版本的五种方法总结

    下面就给您详细讲解“MySQL查看版本的五种方法总结”的完整攻略。 一、查看 MySQL 版本的意义 在开发和维护 MySQL 数据库时,经常需要查看 MySQL 的版本号,以此为基础确定它是否支持所需的功能,特别是在特定情况下,如升级或修复问题时。 二、五种查看 MySQL 版本的方法 1. 使用命令行方法 打开终端, 进入 MySQL 的 bin 目录,…

    database 2023年5月22日
    00
合作推广
合作推广
分享本页
返回顶部