spirngcloudalibaba+mybatis-plus+seata分布式事务搭建流程

1,先部署好nacos并启动localhost:8848/nacos
2,下载springcloudalibaba 版本对应的seata版本
下载seata启动包

https://github.com/seata/seata/releases

下载scrip配置文件包

https://github.com/seata/seata/tree/master/script

在这里插入图片描述
3,修改配置文件 C:\Users\Administrator\Desktop\seata-server-1.4.0\seata\conf
修改file.confi
在这里插入图片描述
db配置
在这里插入图片描述
4,修改registry.conf
在这里插入图片描述
配置config
在这里插入图片描述
5,1配置事务分组名称,可用于异地机房灾备
C:\Users\Administrator\Desktop\seata-server-1.4.0\seata\script\config-center
修改 config.txt
搜索 store.mode=
在这里插入图片描述
5.2搜索service.vgroupMapping
改为自己想要的分组名称,不同地区灾备
在这里插入图片描述
5.3进入到script/config-center/nacos 里面,
执行nacos-config.sh 将配置文件写入到nacos注册中心,这里我们需要下载并安装git,不然无法执行
在这里插入图片描述
5.4注册后将有很多的配置文件,比较慢,耐心等待
在这里插入图片描述


代码端搭建

stock-server端搭建


6.1创建两个微服务
在这里插入图片描述

6.2编写order-seata启动类

package com.parent;

import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.openfeign.EnableFeignClients;
import org.springframework.context.annotation.Bean;
import org.springframework.transaction.annotation.EnableTransactionManagement;
import org.springframework.web.client.RestTemplate;

@SpringBootApplication
@MapperScan("com.parent.mapper")
@EnableDiscoveryClient
@EnableTransactionManagement //mybatisplus 配置 锁插件...... 本地事务
@EnableFeignClients
public class OrderApplication {
   
    public static void main(String[] args) {
   
        SpringApplication.run(OrderApplication.class,args);
    }
    @Bean
    public RestTemplate restTemplate() {
   
        return new RestTemplate();
    }

}


6.3编写application.yml配置文件 order-server的

server:
  port: 18065
spring:
  main:
    allow-circular-references: true
    allow-bean-definition-overriding: true  #允许bean重复定义
  cloud:
    nacos:
      discovery:
        server-addr: 127.0.0.1:8848 #Nacos服务注册中心地址 119.29.140.23
        group: default
    alibaba:
      seata:
        tx-service-group: shenzheng # 配置事务分组
  datasource:
    #测试库
    url: jdbc:mysql://localhost:3306/seata_order?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&useSSL=false
    username: root
    password: "root"
    # hch@168state
    #线上库   docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=hch@168state -d mysql:5.7
    #    url: jdbc:mysql://gz-cdb-ga5jkt2h.sql.tencentcdb.com:57667/hch_parent_pro?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&useSSL=false
    #    username: root
    #    password: 788UORxeeEAiAyyvXz1aePfbIl9OGFd7
    driver-class-name: com.mysql.cj.jdbc.Driver
  application:
    name: order-server

mybatis:
  # 指定实体类包路径
  typeAliasesPackage: com.parent.entity
  mapper-locations: classpath*:mapper/*.xml
  # 配置驼峰下划线
  configuration:
    map-underscore-to-camel-case: true
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

# 打印sql
logging:
  level:
    com.parent.mapper : debug
seata:
  #注册中心
  registry:
    # 配置seata的注册中心, 告诉seata client 怎么去访问seata server(TC)
    type: nacos
    nacos:
      server-addr: 127.0.0.1:8848 # seata server 所在的nacos服务地址
      application: seata-server # seata ser的服务名默认,可以不配
      username: nacos
      password: nacos
      group: SEATA_GROUP  # seata server 所在的组,默认就是SEATA_GROUP 不配置默认
  #配置中心
  config:
    # 配置seata的配置中心, 可以读取关于seata client的一些配置
    type: nacos
    nacos:
      server-addr: 127.0.0.1:8848
      username: nacos
      password: nacos
      group: SEATA_GROUP

6.4父工程依赖

<modules>
        <module>order-seata</module>
        <module>stock-seata</module>
    </modules>
    <properties>
        <java.version>11</java.version>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

        <spring.boot.start.version>2.6.6</spring.boot.start.version>

        <!-- 微服务属性 -->
        <spring-cloud.version>2021.0.0</spring-cloud.version>
        <spring-cloud-alibaba.version>2021.1</spring-cloud-alibaba.version>
        <alibaba.nacos.version>2.0.4</alibaba.nacos.version>
        <alibaba.druid.version>1.2.9</alibaba.druid.version>

        <!-- 数据库驱动 -->
        <mysql-connector-java.version>8.0.25</mysql-connector-java
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值