若依RuoYi-Cloud代码学习四---扩展nacos的知识(bootstrap.yml,spring.factories文件)

2023-11-16

一、概念

Nacos 是一个更易于帮助构建云原生应用的动态服务发现、配置和服务管理平台

  • Nacos 的命名组成(以此知道它的作用)
组成部分 全称 描述
Na naming/nameServer 即服务注册中心,与 Spring Cloud Eureka 的功能类似。
co configuration 即配置中心,与 Spring Cloud Config+Spring Cloud Bus 的功能类似。
s service 即服务,表示 Nacos 实现的服务注册中心和配置中心都是以服务为核心的。

作为SpringCloudAlibaba的组件,从它的作用可以看出它替代了之前SpringCloudEurekaSpring Cloud Config

二、nacos作为服务注册中心

  • Nacos 实现服务注册与发现的流程:

1、下载官方的nacos-server程序并启动
2、项目引入依赖spring-cloud-starter-alibaba-nacos-discovery
3、会把服务以服务名(spring.application.name)的方式注册到服务注册中心(Nacos Server
4、在获取了服务提供者的信息后,服务消费者通过 HTTP 或消息中间件远程调用服务提供者提供的服务。
在这里插入图片描述

  • Nacos Client分为服务提供者(Provider Service)和服务消费者(Consumer Service)
<dependencyManagement>
        <dependencies>
            <!--Spring Cloud Alibaba 的版本信息-->
            <dependency>
                <groupId>com.alibaba.cloud</groupId>
                <artifactId>spring-cloud-alibaba-dependencies</artifactId>
                <version>${spring-cloud.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <!--Spring Cloud 的版本信息-->
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>${spring-cloud.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

注意:微服务工程,通过 dependencyManagementSpring Cloud Alibaba的版本信息进行管理,该工程下的各个子模块在引入 Spring Cloud Alibaba各个组件时就不要单独指定版本号了。

  • ry的开启服务发现使用的自定义逐渐@EnableRyFeignClients
@EnableRyFeignClients
@SpringBootApplication
  • 就是加了个扫包默认值
    在这里插入图片描述

三、nacos作为配置中心

1、添加依赖 spring-cloud-starter-alibaba-nacos-config使其在nacos-server实现配置
2、(比如ry-config)配置持久化nacos-server\conf\application.properties找到配置文件添加mysql的连接配置
在这里插入图片描述

四、bootstrap.yml

在这里插入图片描述

  • bootstrap.yml的作用

application.ymlbootstrap.yml在同一目录下:bootstrap.yml先加载 application.yml后加载
bootstrap.yml用于应用程序上下文的引导阶段。bootstrap.yml由父Spring ApplicationContext加载。

  • Spring Boot上下文:

非 Web 应用:AnnotationConfigApplicationContext
Web 应用:AnnotationConfigEmbeddedWebApplicationContext

  • Spring Cloud上下文:Bootstrap(父)
  • 使用bootstrap.yml
<!--SpringCloud2020及以后的版本默认不启用 bootstrap 配置,我们需要在pom里面显式地引入:
bootstrap 启动器-->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-bootstrap</artifactId>
        </dependency>

五、spring.factories

对于在maven引用的其他外部包加入容器的过程,需要用到spring.factories

  • springboot一般都是为了实现引入的项目自动配置
  • ry中的使用(单纯引入bean
    在这里插入图片描述

ok,就到这里,\(^o^)/~

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

若依RuoYi-Cloud代码学习四---扩展nacos的知识(bootstrap.yml,spring.factories文件) 的相关文章

随机推荐

  • formdata上传文件_关于multipart/formdata上传文件

    最近在做一个文件上传的开放接口 用到Content Type multipart form data这种请求类型 特地做了一些研究和记录 在最初的 http协议中 并没有上传文件方面的功能 RFC1867为 http协议添加了这个能力 常见
  • 深度学习笔试、面试题 二

    1 梯度爆炸问题是指在训练深度神经网络的时候 梯度变得过大而损失函数变为无穷 在RNN中 下面哪种方法可以较好地处理梯度爆炸问题 A 用改良的网络结构比如LSTM和GRUs B 梯度裁剪 C Dropout D 所有方法都不行 正确答案是
  • Linux-写USB键盘驱动(详解)

    1 首先我们通过上节的代码中修改 来打印下键盘驱动的数据到底是怎样的 先来回忆下 我们之前写的鼠标驱动的id table是这样 所以我们要修改id table 使这个驱动为键盘的驱动 如下图所示 然后修改中断函数 通过printk 打印数据
  • 算法与数据结构(七):优先队列

    博主会对算法与数据结构会不断进行更新 敬请期待 如有什么建议 欢迎联系 我们知道队列具有先进先出的特性 栈具有先进后出的特性 那么有没有一种数据结构可以根据自己的需求 以一定的规则从队列中弹出呢 优先队列就是实现这种目标的数据结构 一般情况
  • shell随机读取文件的一行

    bin bash a cat files txt wc l for i 0 i lt 5 i do b RANDOM a b b 1 sed n b p files txt done
  • 微信公众号内嵌H5网页授权步骤

    主要注意点就是回调地址 我是用vue框架开发的 所以单独做了个页面去授权回调 redirectToAuthPage const callbackURL encodeURIComponent https ad jfpays com wcpn
  • Ubuntu 22.04安装Visual Studio Code(VS Code)

    Ubuntu 22 04安装Visual Studio Code 一 下载 打开浏览器 访问VS Code的官方网址 https code visualstudio com 在首页的左侧有两个蓝色的按钮 点击左边的按钮 下载 deb格式的安
  • 全链路压测的“谜”

    前言 对于性能测试来说 全链路压测肯定跑不了的 在昨天上午的 GIAC全球互联网架构大会 上 网易云就进行了全链路压测的议题 对于有性能测试的公司来说 面试往往会被问到什么是全链路压测 如何有效的开展全链路压测等等 我今天也只是高屋建瓴 站
  • unity地形之splatalpha研究 地形贴图导出更换与绘制

    unity中的地图贴图的绘制常常使用的是paint texture里面的 但是这个方式往往费时很多 却只能做出很少的效果 这里要介绍的就是通过外部绘制splatalpha 来替换 达到unity中地形更强的效果 使用软件基本有worldma
  • 【yolo】实现一键yolov5数据处理(下)(划分数据集和验证集+构建yolo数据集结构+生成yaml文件)

    事先准备 所有训练所需的图像存于一个目录 所有训练所需的标签存于一个目录 图像文件与标签文件都统一的格式 图像名与标签名一一对应 两种模式可以选择 将文件按照划分输出直接输出到train val目录 或者 输出train txt val t
  • Python turtle 画圣诞树

    马上就要圣诞街了 作为一名程序猿的我们应该用代码表达一下程序猿的温柔呐 所以 改写了一段Python画圣诞树的代码 给你们的朋友们画一颗代码圣诞树吧 圣诞树一 import turtle as t as就是取个别名 后续调用的t都是turt
  • 配置阿里云yum源并启动nginx服务

    1 查看yum源仓库 ls etc yum repos d 2 查看CentOs Base repo文件 3 配置yum源 https opsx alibaba com mirror 找到这个网站 然后找到centos7 执行下载阿里云yu
  • 剑指Offer 53-Ⅱ.0~n-1中缺失的数字

    LeetCode 剑指Offer 53 o n 1中缺失的数字 一个长度为n 1的递增排序数组中的所有数字都是唯一的 并且每个数字都在范围0 n 1之内 在范围0 n 1内的n个数字中有且只有一个数字不在该数组中 请找出这个数字 示例 1
  • GDB调试子进程

    http blog sina com cn s blog 4e415c0b0100lum0 html 1 set follow fork mode
  • Ajax请求url的中文乱码问题

    Ajax请求路径中如果有中文出现在参数值中时 在IE浏览器中出现过乱码的情况 遇到这种问题那肯定就是编码的问题 这时我们就必须采用编码后再传参了 在后台接收时就必须进行解码操作 在js中进行编码操作有几个常用的方法escape encode
  • OpenHarmony在Amlogic A311D芯片平台的快速开发上手指南

    OpenHarmony是由开放原子开源基金会 OpenAtom Foundation 孵化及运营的开源项目 目标是面向全场景 全连接 全智能时代 搭建一个智能终端设备操作系统的框架和平台 促进万物互联产业的繁荣发展 目前最新发布的版本为Op
  • DOCKER UBUNTU 配置

    TensorRT 8 2 1 8 安装笔记 超全超详细 Docker 快速搭建 TensorRT 环境 知乎 1 DOCKER 深度学习环境基本要素 1 Docker部署深度学习服务器 CUDA cudnn ssh 铜锣烧阿南Anan的博客
  • Linux中的多线程剖析

    目录 1 前言 2 多线程理解 2 1 线程 2 2 通俗了解进程和线程 2 2 1 进程是资源分配的基本单位 2 2 2 Linux中的线程是一种轻量化进程 2 3 进程和线程详解 2 3 1 创建一个线程 pthread create
  • SpringMVC框架在Controller中对于Session的处理

    Controller中的代码 Controller SessionAttributes User Y 此处定义此Controller中将要创建和使用哪些session中的对象名 public class UserController Res
  • 若依RuoYi-Cloud代码学习四---扩展nacos的知识(bootstrap.yml,spring.factories文件)

    一 概念 Nacos 是一个更易于帮助构建云原生应用的动态服务发现 配置和服务管理平台 Nacos 的命名组成 以此知道它的作用 组成部分 全称 描述 Na naming nameServer 即服务注册中心 与 Spring Cloud