seata

seata的简介可以看一看这里:http://c.biancheng.net/springcloud/seata.html
我只是简单的介绍一下我使用的配置:

1.下载seata服务器:https://github.com/seata/seata/releases/tag/v1.4.2在这里插入图片描述
下载后解压进入conf目录打开registry.conf文件 修改东西

其他的我省略了
registry {
  # file 、nacos 、eureka、redis、zk、consul、etcd3、sofa 以什么方式来注册
  type = "nacos"  #将这个修改为nacos 因为我们使用nacos做注册中心

  nacos {
    application = "seata-server" #集群的名字 不用管
    serverAddr = "localhost:8848" #nacos地址
    group = "SEATA_GROUP"
    namespace = ""
    cluster = "default"
    username = "nacos"
    password = "nacos"
  }
}
config {
  # file、nacos 、apollo、zk、consul、etcd3
  type = "nacos" #这里也修改为nacos 将nacos做配置中心

  nacos {
    serverAddr = "localhost:8848" #nacos的服务器地址
    namespace = ""
    group = "SEATA_GROUP"
    username = "nacos" #nacos的密码和账号
    password = "nacos"
    #dataId = "seataServer.properties" 这个不使用
}

spring中的配置
在这里插入图片描述
我只是晓得bootstrap文件的加载先于application

================================bootstrap.yml文件======================================
spring:
  cloud:
    ## Nacos认证信息
    nacos:
      config:
        username: nacos
        password: nacos
        context-path: /nacos
        server-addr: 127.0.0.1:1111 # 设置配置中心服务端地址
        namespace:   # Nacos 配置中心的namespace。需要注意,如果使用 public 的 namcespace ,请不要填写这个值,直接留空即可
===============================application.yml文件======================================
spring:
  application:
    name: spring-cloud-alibaba-seata-order-8005 #nacos中注册的服务名
  #数据源配置
  datasource:
    driver-class-name: com.mysql.jdbc.Driver #数据库驱动
    name: defaultDataSource
    url: jdbc:mysql://localhost:3306/seata_order?serverTimezone=UTC #数据库连接地址
    username: root  #数据库的用户名
    password: root  #数据库密码
  cloud:
    nacos:
      discovery:
        server-addr: 127.0.0.1:1111 #nacos 服务器地址
        namespace: public #nacos 命名空间
        username:
        password:
    sentinel:
      transport:
        dashboard: 127.0.0.1:8080  #Sentinel 控制台地址
        port: 8719
    alibaba:
      seata:
        #自定义服务群组,该值必须与 Nacos 配置中的 service.vgroupMapping.{my-service-group}=default 中的 {my-service-group}相同  一个这个就是代表一个集群 多个相同的服务可以使用同一个tx-service-group
        tx-service-group: service-order-group
server:
  port: 8005  #端口
seata:
  application-id: ${spring.application.name}
  #自定义服务群组,该值必须与 Nacos 配置中的 service.vgroupMapping.{my-service-group}=default 中的 {my-service-group}相同
  tx-service-group: service-order-group
  service:
    grouplist:
      #Seata 服务器地址
      seata-server: 127.0.0.1:8091
  # Seata 的注册方式为 nacos
  registry:
    type: nacos
    nacos:
      server-addr: 127.0.0.1:1111 #nacos的服务端地址
  # Seata 的配置中心为 nacos
  config:
    type: nacos
    nacos:
      server-addr: 127.0.0.1:1111 #nacos的服务端地址
feign:
  sentinel:
    enabled: true #开启 OpenFeign 功能
management:
  endpoints:
    web:
      exposure:
        include: "*"
###################################### MyBatis 配置 ######################################
mybatis:
  # 指定 mapper.xml 的位置 这个随便你
  mapper-locations: classpath:mappers/*.xml

pom文件,这两个是我的springboot版本和spring-cloud-alibaba的版本
<spring-boot.version>2.3.12.RELEASE</spring-boot.version>
2.2.7.RELEASE

<dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
            <version>${spring-boot.version}</version>
        </dependency>
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
        </dependency>
        <!--Snetinel 依赖-->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
        </dependency>
        <!--SpringCloud ailibaba sentinel-datasource-nacos 后续做持久化用到-->
        <dependency>
            <groupId>com.alibaba.csp</groupId>
            <artifactId>sentinel-datasource-nacos</artifactId>
        </dependency>
        <!--引入 seata 依赖-->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-seata</artifactId>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.19</version>
        </dependency>
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>2.1.4</version>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>
        <!--引入 OpenFeign 的依赖-->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-openfeign</artifactId>
            <version>2.2.5.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-loadbalancer</artifactId>
            <version>2.2.5.RELEASE</version>
        </dependency>
    </dependencies>

将seata配置信息上传到nacos上:

  1. 下载并解压 Seata Server 的源码 seata-1.4.2.zip,然后修改 seata-1.4.2/script/config-center 目录下的 config.txt,修改内容如下。
    在这里插入图片描述

主要就是修改这几个 其他的不管

#将 Seata Server 的存储模式修改为 db
store.mode=db
# 数据库驱动
store.db.driverClassName=com.mysql.cj.jdbc.Driver
# 数据库 url
store.db.url=jdbc:mysql://127.0.0.1:3306/seata?useSSL=false&characterEncoding=UTF-8&useUnicode=true&serverTimezone=UTC 
# 数据库的用户名
store.db.user=root 
# 数据库的密码
store.db.password=root
# 自定义事务分组  这个分组 最后面的一个比如service-order-group就是我们之前再yml文件中配置的那个 这个一个代表一个集群 所以我们每个功能创建一个这个 比如订单功能我们就写一个 service.vgroupMapping.dingdan=default
service.vgroupMapping.service-order-group=default 
service.vgroupMapping.service-storage-group=default
service.vgroupMapping.service-account-group=default 
  1. 在 seata-1.4.2\script\config-center\nacos 目录下,右键鼠标选择 Git Bush Here,在弹出的 Git 命令窗口中执行以下命令,将 config.txt 中的配置上传到 Nacos 配置中心。
    运行打开git运行下面的命令 这个命令的 ip 和端口是nacos的端口 如果你不是再本机上记得修改
sh nacos-config.sh -h 127.0.0.1 -p 1111  -g SEATA_GROUP -u nacos -w nacos
  1. 使用浏览器访问 Nacos 服务器主页,查看 Nacos 配置列表,如下图。
    在这里插入图片描述
    我们不是下载了两个吗 一个源码 一个服务端 源码我们用来上传了我们的配置信息 ,接下来就是打开服务器了 :
    进入它的bin目录下 双击打开
    在这里插入图片描述
    没出现报错信息或者命令行闪退就是运行成功了。

如果运行java程序的时候出现如下错误在这里插入图片描述
这里我的情况是无法连接,如果你的seata的服务端是放在本机上的 你试一试用一台有公网连接的电脑试一试ping你的电脑可以ping通吗 ,如果不行 那就是证明是nacos找不到你的电脑,直接通过内网穿透,至于是啥 你们直接网上去搜索,不贵一般10元一个月,免费的比较慢在这里插入图片描述
如果用来内网穿透记得把yml文件中的这里的地址改成我们的映射的那个公网ip地址
在这里插入图片描述
在这里插入图片描述
远程服务调用成功 你可以试一试故意失败 他会自动给你回滚所有的操作 这里的数据库我是直接用的我开头的网址里面的
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值