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中的表时,如果没有索引,每次查询时都需要全表扫描,这将导致查询速度变慢。索引可以帮助MySQL更快地定位到数据,减少查询时间。 索引的基础知识 索引是什么? 在MySQL中,数据表的索引类似于图书馆的书目索引。索引会存储着字段值和与之关联的行指针,以便于找到数据库表中的数据。 索引的类型有哪些? MySQL中支持多种不同类型的索引,包括B树索…

    database 2023年5月22日
    00
  • 服务器安装宝塔面板无法远程连接数据库的解决方法

    下面就为您详细讲解“服务器安装宝塔面板无法远程连接数据库的解决方法”。 问题描述 当我们在服务器上安装好宝塔面板并启用MySQL数据库后,有时候会遇到远程连接数据库失败的问题。尝试使用Navicat等数据库管理工具连接时,可能会出现“无法连接到 MySQL 服务器”,“拒绝访问”,“连接超时”等错误提示。这时就需要解决这个问题,才能正常地使用远程连接MySQ…

    database 2023年5月22日
    00
  • docker搭建Elasticsearch、Kibana、Logstash 同步mysql数据到ES

    一、前言 在数据量大的企业级实践中,Elasticsearch显得非常常见,特别是数据表超过千万级后,无论怎么优化,还是有点力不从心!使用中,最首先的问题就是怎么把千万级数据同步到Elasticsearch中,在一些开源框架中知道了,有专门进行同步的!那就是Logstash 。在思考,同步完怎么查看呢,这时Kibana映入眼帘,可视化的界面,让使用更加的得心…

    MySQL 2023年4月12日
    00
  • MySQL系列教程小白数据库基础

    关于MySQL系列教程小白数据库基础,我可以给你提供一些完整的攻略。 MySQL系列教程小白数据库基础 1. MySQL基础介绍 MySQL是一种开源的关系型数据库管理系统,它是一个非常流行的数据库解决方案。 1.1 MySQL工作原理 MySQL采用客户端/服务器架构,并分为两个部分: MySQL服务端和客户端。服务端负责处理所有数据库请求,而客户端则用于…

    database 2023年5月19日
    00
  • MySQL 管理

    MySQL 是一款流行的关系型数据库管理系统,它提供了多种工具和功能来管理数据库。本文将详细讲解 MySQL 管理的完整攻略,帮助读者快速学会如何使用 MySQL。 1. 安装 MySQL 安装 MySQL 是使用它的前提,首先需要下载并安装 MySQL,可以从官方网站上下载适合自己操作系统的版本,安装过程中需要设置 root 用户密码,建议设置一个强密码。…

    database 2023年5月22日
    00
  • Linux中Oracle数据库备份

    以下是针对“Linux中Oracle数据库备份”的完整攻略: 准备工作 在备份之前,你需要准备以下工作: 安装Oracle数据库 确保已经安装好了备份软件RMAN(Recovery Manager) 确保备份的目录已经存在,具有足够的磁盘空间 备份过程 第一步:备份控制文件 控制文件包含了Oracle数据库的架构和元数据信息,是数据库的一部分,可以用来恢复数…

    database 2023年5月21日
    00
  • MySQL 数据类型 详解

    MySQL 数据类型详解 MySQL 是一种关系型数据库管理系统,数据存储需要定义列的数据类型。MySQL 提供了多种数据类型,每种类型都有其特定用途及所占用的存储空间。本文将对 MySQL 的数据类型进行详细阐述。 数值类型 MySQL 中常用的数值类型包括整型和浮点型。 整型 MySQL 提供了几种不同大小的整数类型,可以根据需要选取合适的类型。下面是 …

    database 2023年5月22日
    00
  • MySQL四种日志binlog/redolog/relaylog/undolog

    优质博文:IT-BLOG-CN 一、binlog binlog记录数据库表结构和表数据变更,比如update/delete/insert/truncate/create,它不会记录select。存储着每条变更的SQL语句和XID事务Id等等。binlog日志文件如下: [root@192.168.10.11]# mysqlbinlog mysql-binlo…

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