Seata 2.x 系列【7】服务端集成 Nacos 2.x

news2024/11/18 5:39:25

有道无术,术尚可求,有术无道,止于术。

本系列Seata 版本 2.0.0

本系列Spring Boot 版本 3.2.0

本系列Spring Cloud 版本 2023.0.0

源码地址:https://gitee.com/pearl-organization/study-seata-demo

文章目录

    • 1. 概述
    • 2. 安装 Nacos 2.0
    • 3. 配置
      • 3.1 导入配置(不推荐)
      • 3.2 自建配置(推荐)
      • 3.3 注册、配置中心
      • 3.4 验证

1. 概述

在前两篇文档中,我们部署了Seata服务端,并基于Spring Cloud Alibaba微服务框架模拟了电商用户下单操作,接下来学习Seata集成Nacos注册中心、配置中心。
在这里插入图片描述

2. 安装 Nacos 2.0

NacosDynamic Naming and Configuration Service的首字母简称,读音为/nɑ:kəʊs/,从名字也可看出它的两大核心功能,即服务发现、配置管理

Nacos安装文件在GitHub地址下载,Windows系统对应的安装包为nacos-server-2.2.3.zip,下载完成后,解压到相关目录:
在这里插入图片描述
bin目录存放了WindowsLinux启动和停止运行的执行脚本:
在这里插入图片描述
conf配置目录,存放所有的配置文件:
在这里插入图片描述
各配置文件简要说明:

  • 1.4.0-ipv6_support-update.sqlIpv6支持的数据库更新脚本
  • announcement.conf:公告或官方提示
  • application.propertiesNacos服务端是使用Spring Boot开发的,所以这个是服务端应用配置文件
  • application.properties.example:服务端应用演示配置文件,包含了配置项及其相关说明
  • cluster.conf.example:服务端集群环境演示配置文件,包含了配置项及其相关说明
  • derby-schema.sqlDerby数据库初始化脚本
  • mysql-schema.sqlMysql数据库初始化脚本
  • nacos-logback.xmlLogback日志配置文件

target目录就是服务端的Spring Boot jar包,启动脚本也是通过java -jar命令运行的:
image.png

LICENSE授权文件,表明了Nacos使用的是Apache License Version 2.0,在商用时,需要保留该文件。

NOTICE公告文件,表明了Nacos属于阿里巴巴集团,使用时需要遵循相关协议。

启动十分简单,只需要在bin目录打开CMD窗口,输入startup.cmd -m standalone命令即可,standalone代表单机模式运行,非集群模式。启动时,会打印Nacos Banner图,以及版本、启动端口、进程Pid、控制台访问地址等信息:
在这里插入图片描述
访问控制台地址,直接就进入到了Nacos主界面,因为服务端没有开启鉴权,所以是不需要登录的:
在这里插入图片描述
新建一个seata-demo命名空间:
在这里插入图片描述

3. 配置

3.1 导入配置(不推荐)

config-center提供了集成配置中心时,导入配置用的相关脚本:
在这里插入图片描述
nacos目录提供了ShellPython两种脚本:
在这里插入图片描述
README.md文件中提供了使用说明,例如使用Shell导入到Nacos时,包含了交互和非交互两种模式:

## 交互式
sh ${SEATAPATH}/script/config-center/nacos/nacos-config-interactive.sh

Please enter the host of nacos.
请输入nacos的host [localhost]:
>>>
Please enter the port of nacos.
请输入nacos的port [8848]:
>>>
Please enter the group of nacos.
请输入nacos的group [SEATA_GROUP]:
>>>
Please enter the tenant of nacos.
请输入nacos的tenant:
>>>
Please enter the username of nacos.
请输入nacos的username:
>>>
Please enter the password of nacos.
请输入nacos的password:
>>>
Are you sure to continue? [y/n]

## 非交互式
sh ${SEATAPATH}/script/config-center/nacos/nacos-config.sh -h localhost -p 8848 -g SEATA_GROUP -t 5a3c7d6c-f497-4d68-a71a-2e5e3340b3ca -u username -w password

参数说明:

参数说明
-h主机地址,默认值为localhost
-p端口,默认值为8848
-g配置分组,默认值为EATA_GROUP
-t租户信息,对应Nacos的命名空间,默认值为“”
-u用户名,默认值为“”
-w密码,默认值为“”

\seata\script\config-center\nacos目录,打开Git Bash(因为是Wins系统,无法直接执行Shell),输入导入命令:

 sh nacos-config.sh -h localhost -p 8848 -g SEATA_GROUP -t f2201f5a-ced8-4d17-b9a3-9ec969c12f70

开始执行:
在这里插入图片描述
导入成功后,可以看到总共有118个配置项:
在这里插入图片描述

3.2 自建配置(推荐)

上述导入配置的方式,每个配置项都新建了一个配置文件,不方便查看管理,我们可以自建一个总的配置文件即可。

seata-demo命名空间下(不要使用公共空间),新建一个配置:

  • Data IDseata.properties
  • GroupSEATA_GROUP
  • 格式:Properies
  • 内容:复制seata\script\config-center\config.txt文件内容

在这里插入图片描述

3.3 注册、配置中心

进入seata\conf目录,修改application.yml文件:
在这里插入图片描述
添加Nacos为注册、配置中心:

server:
  port: 7091

spring:
  application:
    name: seata-server

logging:
  config: classpath:logback-spring.xml
  file:
    path: ${log.home:${user.home}/logs/seata}
  extend:
    logstash-appender:
      destination: 127.0.0.1:4560
    kafka-appender:
      bootstrap-servers: 127.0.0.1:9092
      topic: logback_to_logstash

console:
  user:
    username: seata
    password: seata
seata:
  # 配置中心
  config:
    # 类型: nacos 、 consul 、 apollo 、 zk  、 etcd3
    type: nacos
    nacos:
      # nacos 服务端地址
      server-addr: 127.0.0.1:8848
      # 命名空间
      namespace: 7032916a-19f1-482e-a3eb-8a62226c2e4d
      # 分组
      group: SEATA_GROUP
      # 配置ID
      data-id: seata.properties
  # 注册中心
  registry:
    # 类型: nacos 、 eureka 、 redis 、 zk  、 consul 、 etcd3 、 sofa
    type: nacos
    nacos:
      # 指定注册至nacos注册中心的服务名
      application: seata-server
      server-addr: 127.0.0.1:8848
      group: DEFAULT_GROUP
      namespace: 7032916a-19f1-482e-a3eb-8a62226c2e4d
      # 指定注册至nacos注册中心的集群名
      cluster: default
  store:
    # support: file 、 db 、 redis 、 raft
    mode: file
  #  server:
  #    service-port: 8091 #If not configured, the default is '${server.port} + 1000'
  security:
    secretKey: SeataSecretKey0c382ef121d778043159209298fd40bf3850a017
    tokenValidityInMilliseconds: 1800000
    ignore:
      urls: /,/**/*.css,/**/*.js,/**/*.html,/**/*.map,/**/*.svg,/**/*.png,/**/*.jpeg,/**/*.ico,/api/v1/auth/login,/metadata/v1/**

3.4 验证

启动Seata后,在Nacos服务列表可以看到一个名称为seata-server的服务,表示注册成功:
在这里插入图片描述
修改seata.properties中事务存储模式为db(数据库):
在这里插入图片描述
重新启动Seata,可以看到数据库连接失败,说明修改的配置生效,配置中心集成成功:
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1516773.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Cassandra 集群安装部署

文章目录 一、概述1.官方文档2. 克隆服务器3.安装说明4.安装准备4.1.安装 JDK 114.2.安装 Python4.3.下载文件 二、安装部署1.配置 Cassandra2.启动 Cassandra3.关闭Cassandra4.查看状态5.客户端连接服务器6.服务运行脚本 开源中间件 # Cassandrahttps://iothub.org.cn/docs/m…

校园新闻网站|基于SpringBoot+ Mysql+Java+B/S结构的校园新闻网站设计与实现(可运行源码+数据库+设计文档+部署说明)

推荐阅读100套最新项目 最新ssmjava项目文档视频演示可运行源码分享 最新jspjava项目文档视频演示可运行源码分享 最新Spring Boot项目文档视频演示可运行源码分享 目录 前台功能效果图 管理员功能登录前台功能效果图 系统功能设计 数据库E-R图设计 lunwen参考 摘要 研究…

运放的基础知识

运算放大器(Operational Amplifier,简称运放)是一种直流耦合、差模(差动模式)输入的高增益电压放大器,通常具有单端输出。它能产生一个相对于输入端电势差大数十万倍的输出电势(对地而言&#x…

爬虫的去重

去重基本原理 爬虫中什么业务需要使用去重 防止发出重复的请求防止存储重复的数据 在爬取网页数据时,避免对同一URL发起重复的请求,这样可以减少不必要的网络流量和服务器压力,提高爬虫的效率,在将爬取到的数据存储到数据库或其…

ConnectionResetError: [WinError 10054] 远程主机强迫关闭了一个现有的连接。

发生的错误信息: File "C:\Users\malongqiang\.conda\envs\ObjectDetection\lib\ssl.py", line 1309, in do_handshakeself._sslobj.do_handshake() ConnectionResetError: [WinError 10054] 远程主机强迫关闭了一个现有的连接。 分析原因: …

网络编程:网络编程基础

一、网络发展 1.TCP/IP两个协议阶段 TCP/IP协议已分成了两个不同的协议: 用来检测网络传输中差错的传输控制协议TCP 专门负责对不同网络进行2互联的互联网协议IP 2.网络体系结构 OSI体系口诀:物链网输会示用 2.1网络体系结构概念 每一层都有自己独…

新生宿舍管理系统|基于springboot框架+ Mysql+Java+B/S架构的新生宿舍管理系统设计与实现(可运行源码+数据库+设计文档+部署说明)

推荐阅读100套最新项目 最新ssmjava项目文档视频演示可运行源码分享 最新jspjava项目文档视频演示可运行源码分享 最新Spring Boot项目文档视频演示可运行源码分享 目录 学生功能模块 管理员功能 系统功能设计 数据库E-R图设计 lunwen参考 摘要 研究目的 开发环境 项目部…

全栈的自我修养 ———— js中的复制api

通常用于可以禁止用户复制或者在复制的内容后面添加版权信息等 一、代码二、展示1、访问粘贴板的内容2、替换复制内容3、在复制内容的后面添加版权信息4、监听粘贴事件 一、代码 <body><div class"demo">不可以被复制</div><div class"de…

Linux中mysql的安装、远程访问、基础操作、文件导入

Linux中mysql的安装、远程访问、基础操作、文件导入 cheet card1. 安装1. 使用root账号安装mysql 2. 启动mysql并创建root、管理员两个账号3. 基础操作3.1 数据库的查看、创建、修改、删除3.2 mysql的数据类型3.3 数据表的基本操作3.4 数据表结构的修改3.5 表中数据的增、删、改…

【C++ 学习】程序内存分布

文章目录 1. C 内存分布的引入 1. C 内存分布的引入 ① 栈又叫堆栈&#xff1a;非静态局部变量/函数参数/返回值等等&#xff0c;栈是向下增长的。 ② 内存映射段&#xff1a;是高效的I/O映射方式&#xff0c;用于装载一个共享的动态内存库。用户可使用系统接口创建共享共享内存…

射影几何 -- 两视点几何 1

1、 基本矩阵 1.1、 极几何 极平面 (Epipolar Plane) 通过两个摄像机光心的平面称为极平面。两个摄像机光心的连线称为基线&#xff0c;任意两张极平面均 相交于基线&#xff0c;所以极平面的全体构成共基线的平面束。 极线 (Epipolar Line) 极平面与摄像机像平面的交线称…

ELK之使用Filebeat插件收集日志到Logstash

对于Springboot项目接入ELK非常方便&#xff0c;对于非maven&#xff0c;非Spring项目来说就比较复杂&#xff0c;这个时候我们就可以使用Filebeat插件还完成日志的收集发送工作。 Filebeat介绍 Filebeat是用于转发和收集数据的轻量级工具&#xff0c;Filebeat可以监视指定的…

3.1_8 两级页表

文章目录 3.1_8 两级页表&#xff08;一&#xff09;单级页表存在的问题&#xff08;二&#xff09;如何解决单级页表的问题&#xff1f;&#xff08;三&#xff09;两级页表的原理、地址结构&#xff08;四&#xff09;如何实现地址变换&#xff08;五&#xff09;需要注意的几…

【Cookie和Session辨析】

1.cookie 1.1什么是cookie Cookie 是一种在客户端&#xff08;通常是 Web 浏览器&#xff09;和服务器之间传递信息的机制&#xff0c;用于在客户端存储少量的数据。它由服务器发送到客户端浏览器&#xff0c;然后浏览器会将这些数据存储在本地&#xff0c;并在后续的请求中将…

全球首个 AI 软件工程师 Devin它来了!

如果您想每日获取AI最新新闻,欢迎关注文章底部的公众号 Cognition AI 发布 AI 软件工程师 Devin 初创公司 Cognition 近日发布公告,宣布推出全球首个 AI 软件工程师 Devin,并号称会彻底改变人类构建软件的方式。Devin 擅长长期推理能力,可以自主规划和完成软件项目,并在此…

Kotlin:为什么创建类不能被继承

一、为什么创建类不能被继承 class或data class 默认情况下&#xff0c;Kotlin 类是最终&#xff08;final&#xff09;的&#xff1a;它们不能被继承。 示例&#xff1a;data class PsersonBean 反编译data class PsersonBean 生成 public final class PsersonBean 示例&…

智慧路灯杆AI监测应用,让高速出行更安全

高速公路是现代交通出行的重要组成&#xff0c;高速公路上的交通安全也一直是人们关注的焦点。针对更好监测和管理高速公路上的交通状况&#xff0c;可以基于智慧路灯杆打造AI交通监测应用&#xff0c;通过智能感知高速路段的路况、车况、环境状况&#xff0c;实现实时风险感知…

基于SpringBoot的“实验室管理系统”的设计与实现(源码+数据库+文档+PPT)

基于SpringBoot的“实验室管理系统”的设计与实现&#xff08;源码数据库文档PPT) 开发语言&#xff1a;Java 数据库&#xff1a;MySQL 技术&#xff1a;SpringBoot 工具&#xff1a;IDEA/Ecilpse、Navicat、Maven 系统展示 登录界面 注册界面 实验室界面 设备界面图 消耗…

linux 安装gradle7.4.2环境

1.下载gradle7.4.2工程 百度网盘 请输入提取码百度网盘为您提供文件的网络备份、同步和分享服务。空间大、速度快、安全稳固&#xff0c;支持教育网加速&#xff0c;支持手机端。注册使用百度网盘即可享受免费存储空间https://pan.baidu.com/s/1hoNEFkBJPHAgs9ITAEh3Zg?pwdGJ…

Spring Cloud Alibab 入门搭建,包含Nacos中心,注册服务发现服务,Feign请求,GateWay网关,sentinel限流

一、安装Nacos注册中心 1.1查看Nacos官网&#xff0c;安装Nacos服务&#xff0c;下载源码或者安装包 1.2启动服务&#xff0c;默认端口为8848&#xff0c; 二、创建服务注册&发现 2.1使用脚手架&#xff0c;创建注册服务和发现服务项目&#xff0c;我用的版本是2.6.13&…