SpringCloud Alibaba微服务实战八 - Seata 整合Nacos

简介: SpringCloud Alibaba微服务实战八 - Seata 整合Nacos

本篇作为SpringCloud Alibaba微服务实战系列的第八篇,主要内容是让Seata使用Nacos作为注册配置中心。系列文章,欢迎持续关注。

上篇文章中我们使用的是Seata的file配置实现分布式事务,既然本系列文章用的是Springcloud alibaba全家桶而Seata又恰好支持Naocs,那么我们肯定也将选择Nacos作为Seata的注册配置中心。本篇文章我们将一步一步把Seata整合上Nacos,大家伙跟我一起动手试试吧~

本篇文章依赖于上篇文章SpringCloud Alibaba微服务实战七 - 分布式事务


配置调整


服务端配置修改

服务端主要是修改\seata\conf\registry.conf文件,让Seata使用Nacos作为注册配置中心,修改后的文件如下:

registry {
  # file 、nacos 、eureka、redis、zk、consul、etcd3、sofa
  type = "nacos"
  nacos {
    serverAddr = "192.168.136.130:8848"
    namespace = ""
    cluster = "default"
  }
}
config {
  # file、nacos 、apollo、zk、consul、etcd3
  type = "nacos"
  nacos {
    serverAddr = "192.168.136.130:8848"
    namespace = ""
  }
}


将Seata配置推到Nacos

此处主要修改\seata\conf\nacos-config.txt文件,作如下两处修改:

  • 修改tx-service-group

    如上图所示,修改的格式为service.vgroup_mapping.${spring.alibaba.seata.tx-service-group}=default,结合我们的系统服务修改后的结果如下:
service.vgroup_mapping.account-service-seata=default
service.vgroup_mapping.product-service-seata=default
service.vgroup_mapping.order-service-seata=default
  • 开启数据库自动代理
support.spring.datasource.autoproxy=true
  • 将配置推送到Nacos
    这里我们在\seata\conf下打开git终端,执行sh nacos-config.sh 192.168.136.130

    执行完成后在git终端看到如下日志说明推送成功
init nacos config finished, please start seata-server.
  • 登录nacos控制台验证配置
    如上可以看到seata相关的63条配置。
    吐槽一下:这配置看起来好乱,期待后续这一块可以优化!

Seata Server端存储模式(store.mode)现有file、db两种(本系列用的是file模式,使用db模式可以参照官网配置http://seata.io/zh-cn/docs/ops/deploy-guide-beginner.html), 两种模式的区别如下:

  • file模式为单机模式,全局事务会话信息内存中读写并持久化本地文件root.data,性能较高;
  • db模式为高可用模式,全局事务会话信息通过db共享,相应性能差些。


客户端修改

上篇文章中我们在服务项目的resource文件夹中放入了2个文件file.confregistry.conf,这次我们只需要删掉file.conf,然后再将服务端修改后的registry.conf重新拷贝到resource文件夹。


测试


按照如下过程进行测试:

  • 启动Seata-Server
    登录nacos控制台可以发现Seata已经注册进nacos
  • 启动微服务

    在Seata控制台可以看到服务注册
  • 业务测试
    正常情况会看到如下日志

    如果出现异常需要回滚会看到这样的日志


好了,各位朋友们,本期的“SpringCloud Alibaba微服务实战八 - Seata 整合Nacos”到此就全部结束啦,咱们下篇见!

one more thing! 如果你觉得这篇文章有点用的话,求"转发"、求"在看"。名人不说暗话,我喜欢这种赶脚!

目录
相关文章
|
11月前
|
人工智能 Java Nacos
基于 Spring AI Alibaba + Nacos 的分布式 Multi-Agent 构建指南
本文将针对 Spring AI Alibaba + Nacos 的分布式多智能体构建方案展开介绍,同时结合 Demo 说明快速开发方法与实际效果。
5701 115
|
NoSQL Java Nacos
SpringCloud集成Seata并使用Nacos做注册中心与配置中心
SpringCloud集成Seata并使用Nacos做注册中心与配置中心
1638 3
|
网络协议 Java Nacos
SpringCloudAlibaba-Seata2.0.0与Nacos2.2.1
检查 Nacos 控制台,确认 Seata 服务器和 Spring Boot 应用已成功注册。 - 通过执行全局事务验证 Seata 的分布式事务管理功能。
1894 31
|
Java Nacos Sentinel
Spring Cloud Alibaba:一站式微服务解决方案
Spring Cloud Alibaba(简称SCA) 是一个基于 Spring Cloud 构建的开源微服务框架,专为解决分布式系统中的服务治理、配置管理、服务发现、消息总线等问题而设计。
3528 13
Spring Cloud Alibaba:一站式微服务解决方案
|
Java 关系型数据库 数据库
微服务SpringCloud分布式事务之Seata
SpringCloud+SpringCloudAlibaba的Seata实现分布式事务,步骤超详细,附带视频教程
1335 1
|
JSON SpringCloudAlibaba Java
Springcloud Alibaba + jdk17+nacos 项目实践
本文基于 `Springcloud Alibaba + JDK17 + Nacos2.x` 介绍了一个微服务项目的搭建过程,包括项目依赖、配置文件、开发实践中的新特性(如文本块、NPE增强、模式匹配)以及常见的问题和解决方案。通过本文,读者可以了解如何高效地搭建和开发微服务项目,并解决一些常见的开发难题。项目代码已上传至 Gitee,欢迎交流学习。
1752 1
Springcloud Alibaba + jdk17+nacos 项目实践
|
安全 Nacos 数据安全/隐私保护
升级指南:从Nacos 1.3.0 到 2.3.0,并兼容 Seata 的鉴权配置
本文详细介绍了如何在微服务环境下从 Nacos 1.3.0 升级到 2.3.0,并确保 Seata 各版本的兼容性。作者小米分享了升级过程中的关键步骤,包括备份配置、更新鉴权信息及验证测试等,并解答了常见问题。通过这些步骤,可以帮助读者顺利完成升级并提高系统的安全性与一致性。
674 8
升级指南:从Nacos 1.3.0 到 2.3.0,并兼容 Seata 的鉴权配置
|
Java 微服务 Spring
SpringBoot+Vue+Spring Cloud Alibaba 实现大型电商系统【分布式微服务实现】
文章介绍了如何利用Spring Cloud Alibaba快速构建大型电商系统的分布式微服务,包括服务限流降级等主要功能的实现,并通过注解和配置简化了Spring Cloud应用的接入和搭建过程。
SpringBoot+Vue+Spring Cloud Alibaba 实现大型电商系统【分布式微服务实现】