微服务 之 Nacos 配置中心 入门及使用

这篇具有很好参考价值的文章主要介绍了微服务 之 Nacos 配置中心 入门及使用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

5.配置中心

5.1.应用场景

​ 在系统开发过程中,开发者通常会将一些需要变更的参数、变量等从代码中分离出来独立管理,以独立的配置文件的形式存在。目的是让静态的系统工件或者交付物(如 WAR,JAR 包等)更好地和实际的物理运行环境进行适配。配置管理一般包含在系统部署的过程中,由系统管理员或者运维人员完成。配置变更是调整系统运行时的行为的有效手段。

如果微服务架构中没有使用统一配置中心时,所存在的问题:

  • 配置文件分散在各个项目里,不方便维护

  • 配置内容安全与权限

  • 更新配置后,项目需要重启

  1. 使用同一配置: 比如,多台服务器组成的集群,假如后端使用同一数据库,那么每台服务器都是用相同的配置。

  2. 使用不同的配置: 比如典型的场景是,开发,测试,生产使用相同的系统,但使用不同的数据库。

5.2.快速创建

创建模块

微服务 之 Nacos 配置中心 入门及使用

填写信息
微服务 之 Nacos 配置中心 入门及使用

选择配置中心组件

微服务 之 Nacos 配置中心 入门及使用

5.3.pom.xml 导入依赖

<dependencies>
    <dependency>
        <groupId>com.alibaba.cloud</groupId>
        <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
    </dependency>
</dependencies>

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-alibaba-dependencies</artifactId>
            <version>${spring-cloud-alibaba.version}</version>
            <type>pom</type>
            <scope>import</scope>
         </dependency>
    </dependencies>
</dependencyManagement>

5.4.配置文件

建立 bootstrap.properties 配置文件, 这个文件在application.properties配置文件之前加载

配置文件中spring.application.name的值必须与Nacos创建的配置中Data Id匹配( Nacos配置文件的扩展名可以是.properties或者.yml)

# 应用名称
spring.application.name=sca-nacos-config
# Nacos帮助文档: https://nacos.io/zh-cn/docs/concepts.html
# Nacos认证信息
spring.cloud.nacos.config.username=nacos
spring.cloud.nacos.config.password=nacos
spring.cloud.nacos.config.contextPath=/nacos
# 设置配置中心服务端地址
spring.cloud.nacos.config.server-addr=127.0.0.1:8848
# Nacos 配置中心的namespace。需要注意,如果使用 public 的 namcespace ,请不要填写这个值,直接留空即可
# spring.cloud.nacos.config.namespace=

5.5.建立测试类

package com.yuan.scanacosconfig.controller;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;


/**
 * @RefreshScope
 * 当 配置中心的信息发生改变时, 取得信息自动变化
 */
@RefreshScope
@RestController
@RequestMapping("/testConfig")
public class ConfigController {

    @Value("${test.msg}")
    private String testProp;

    @RequestMapping("/showProperties")
    public String showProperties(){
        return "配置信息是:" + this.testProp;
    }
}

在 application.properties 配置文件中 加入

test.msg=local_msg

通过浏览器访问

微服务 之 Nacos 配置中心 入门及使用

5.6.在Nacos中增加配置

微服务 之 Nacos 配置中心 入门及使用

微服务 之 Nacos 配置中心 入门及使用

微服务 之 Nacos 配置中心 入门及使用

直接 通过 浏览器 访问, 显示信息变成 配置中的内容

微服务 之 Nacos 配置中心 入门及使用

5.7.命名空间

在使用配置中心时,我们会经常关注一个问题:如何实现多环境的配置管理,即在不同的场景下加载不同的配置文件。
Nacos为我们提供了三个管理级别的概念Data ID, Group, Namespace。

5.7.1.增加新的命名空间

微服务 之 Nacos 配置中心 入门及使用

微服务 之 Nacos 配置中心 入门及使用

微服务 之 Nacos 配置中心 入门及使用

可以新建 配置

5.7.2.克隆配置

微服务 之 Nacos 配置中心 入门及使用

微服务 之 Nacos 配置中心 入门及使用

5.7.3.修改配置

微服务 之 Nacos 配置中心 入门及使用

微服务 之 Nacos 配置中心 入门及使用

5.7.4.修改项目配置

# 应用名称
spring.application.name=sca-nacos-config
# Nacos帮助文档: https://nacos.io/zh-cn/docs/concepts.html
# Nacos认证信息
spring.cloud.nacos.config.username=nacos
spring.cloud.nacos.config.password=nacos
spring.cloud.nacos.config.contextPath=/nacos
# 设置配置中心服务端地址
spring.cloud.nacos.config.server-addr=127.0.0.1:8848
# Nacos 配置中心的namespace。这里可以 写命名空间的ID, 这里写的是test空间的ID
 spring.cloud.nacos.config.namespace=de502140-986d-4605-90f3-f381254f4909

重启项目后, 再通过浏览器访问

微服务 之 Nacos 配置中心 入门及使用

5.8.分组

5.8.1.克隆配置

可以通过 克隆的形式 在同一命名空间中 复制新的配置, 但 组名不同

微服务 之 Nacos 配置中心 入门及使用

微服务 之 Nacos 配置中心 入门及使用

5.8.2.修改配置

微服务 之 Nacos 配置中心 入门及使用

微服务 之 Nacos 配置中心 入门及使用

5.8.3.修改项目配置

# 应用名称
spring.application.name=sca-nacos-config
# Nacos帮助文档: https://nacos.io/zh-cn/docs/concepts.html
# Nacos认证信息
spring.cloud.nacos.config.username=nacos
spring.cloud.nacos.config.password=nacos
spring.cloud.nacos.config.contextPath=/nacos
# 设置配置中心服务端地址
spring.cloud.nacos.config.server-addr=127.0.0.1:8848
# Nacos 配置中心的namespace。这里可以 写命名空间的ID, 这里写的是test空间的ID
spring.cloud.nacos.config.namespace=de502140-986d-4605-90f3-f381254f4909
# 增加分组信息 分组 与 配置中心的 组名对应上
spring.cloud.nacos.config.group=NEW_GROUP

重启项目后, 再通过浏览器访问

微服务 之 Nacos 配置中心 入门及使用

5.9.加载多个配置文件

5.9.1.在配置中心增加多个配置文件

微服务 之 Nacos 配置中心 入门及使用

分别对应:

datasource.yml

# 数据库驱动:
spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
# 数据源名称  
    name: defaultDataSource
# 数据库连接地址
    url: jdbc:mysql://localhost:3306/manymanygood?serverTimezone=UTC
# 数据库用户名&密码:
    username: root
    password: root

nacosdiscovery.yml

# Nacos帮助文档: https://nacos.io/zh-cn/docs/concepts.html
# Nacos认证信息
spring:
  cloud:
    nacos:
      discovery:
        username: nacos
        password: nacos
# Nacos 服务发现与注册配置,其中子属性 server-addr 指定 Nacos 服务器主机和端口
        server-addr: 127.0.0.1:8848
# 注册到 nacos 的指定 namespace,默认为 public
        namespace: public

other.yml

# 应用名称
spring:
  application:
    name: sca-nacos-config
# 应用服务 WEB 访问端口
server:
  port: 8080
  
#自定义信息  
test:
  msg: new_new_msg

并删除 原来 的application.properties 对应的内容

5.9.2.修改项目的bootstrap.properties 配置文件

增加

spring.cloud.nacos.config.extension-configs[0].data-id=datasource.yml
spring.cloud.nacos.config.extension-configs[0].group=DEFAULT_GROUP
spring.cloud.nacos.config.extension-configs[0].refresh=true

spring.cloud.nacos.config.extension-configs[1].data-id=nacosdiscovery.yml
spring.cloud.nacos.config.extension-configs[1].group=DEFAULT_GROUP
spring.cloud.nacos.config.extension-configs[1].refresh=true

spring.cloud.nacos.config.extension-configs[2].data-id=other.yml
spring.cloud.nacos.config.extension-configs[2].group=DEFAULT_GROUP
spring.cloud.nacos.config.extension-configs[2].refresh=true

重启项目后, 再通过浏览器访问

微服务 之 Nacos 配置中心 入门及使用文章来源地址https://www.toymoban.com/news/detail-406084.html

5.10.设置日志输出级别

logging.level.com.alibaba.nacos.client.naming=error

5.11.yml 配置格式

spring:
  application:
    name: renren-fast
  cloud:
    nacos:
      config:
        server-addr: 127.0.0.1:8848
        file-extension: yaml
        namespace: 10000

        extension-configs[0]:
          data-id: common-redis.properties
          group: DEFAULT_GROUP
          refresh: true


logging:
  level:
    com:
      alibaba:
        nacos:
          client:
            naming: error

到了这里,关于微服务 之 Nacos 配置中心 入门及使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【SpringCloud入门】-- Nacos快速入门之搭建服务与注册中心

    目录 前言:  1.Nacos的下载与安装 2. 去MySQL建立一个名为nacos的数据库 3.介绍配置文件,conf目录下的 application.properties 4.nacos启动 5. nacos作为注册中心的作用 6.建立一个项目,实现向命名空间注册 前言: 上文我们已经简单介绍了一下Nacos,现在我们一起来动手搭建一个Nacos的注

    2024年02月09日
    浏览(29)
  • 微服务Day2——Nacos注册中心入门

    国内公司一般都推崇阿里巴巴的技术,比如注册中心,SpringCloudAlibaba也推出了一个名为Nacos的注册中心。 进入Nacos官网下载安装包 http://nacos.io/zh-cn/ Github仓库地址 下载解压后进入nacos/bin目录下 执行 sh startup.sh -m standalone 命令来启动nacos 4.进入可视化页面http://127.0.0.1:8848/nacos/

    2024年02月16日
    浏览(29)
  • nacos 注册中心服务端配置详解

    Nacos是一个开源的动态服务发现、配置管理和服务管理平台。在使用Nacos作为注册中心时,需要配置Nacos Server的相关参数。 下面是Nacos Server的配置参数详解: nacos.core.default.namespace: Nacos默认的命名空间,用于隔离不同的环境或不同的应用。默认值为public。 nacos.naming.data.warmup

    2024年02月13日
    浏览(31)
  • 基于Dubbo和Nacos搭建微服务的配置中心和服务注册中心

    1.添加nacos依赖 2.配置application.properties PS:nacos2.0除了需要8848的端口之外,还新增了端口+1000的新端口用于客户端和服务端GRPC通信的端口,所以如果是自己部署的nacos需要放开这俩个端口,服务才可以启动成功。 3.配置类 3.1 添加Spring Cloud原生注解 @EnableDiscoveryClient 3.2 客户端服

    2024年02月16日
    浏览(35)
  • 【微服务】Nacos注册中心(3):配置管理

    给微服务配置namespace 给微服务配置namespace只能通过修改配置来实现。 重启order-service后,访问控制台,可以看到下面的结果 此时访问order-service,因为namespace不同,会导致找不到userservice,控制台会报错 Nacos的服务实例分为两种l类型: 临时实例:如果实例宕机超过一定时间,

    2024年02月05日
    浏览(37)
  • 【微服务 SpringCloudAlibaba】实用篇 · Nacos配置中心

    微服务(6) Nacos除了可以做注册中心,同样可以做配置管理来使用。 当微服务部署的实例越来越多,达到数十、数百时,逐个修改微服务配置就会让人抓狂,而且很容易出错。我们需要一种统一配置管理方案,可以集中管理所有实例的配置。 Nacos一方面可以将配置集中管理

    2024年02月05日
    浏览(33)
  • 微服务 – Spring Cloud – Nacos 配置中心

    Data ID : nacos-config-client-dev.yaml Group: DEV-CLOUD2023

    2024年02月11日
    浏览(42)
  • Nacos作为服务配置中心、集群和持久化配置

    目录 一、Nacos作为服务配置中心演示 (一)Nacos作为配置中心-基础配置 (二)Nacos作为配置中心-分类配置 二、Nacos集群和持久化配置(重要) (一)官网说明 (二)Nacos持久化配置解释 1、Nacos默认自带的是嵌入式数据库derby 2、derby到mysql切换配置步骤 (三)Linux版Nacos+MyS

    2024年02月09日
    浏览(43)
  • Nacos:服务的注册、发现和配置中心(注册篇)

    Nacos 是阿里巴巴推出来的一个新开源项目,这是一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。 Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。 N

    2024年02月15日
    浏览(32)
  • SpringCloud + Gateway(网关) + Nacos(注册中心+配置中心)+ Dubbo(内部服务调用)

    Apache Dubbo是一款微服务开发框架,它提供了 RPC通信 与 微服务治理 两大关键能力 1、协议支持方面 Feign更加优雅简单。Feign是通过REST API实现的远程调用,基于Http传输协议,服务提供者需要对外暴露Http接口供消费者调用,服务粒度是http接口级的。通过短连接的方式进行通信,

    2024年02月06日
    浏览(51)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包