Nacos + SpringCloud配置中心

Nacos + SpringCloud配置中心

Nacos简介

Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。

Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。 Nacos 是构建以“服务”为中心的现代应用架构 (例如微服务范式、云原生范式) 的服务基础设施。

Nacos特性

服务发现和服务健康监测

动态配置服务

动态 DNS 服务

服务及其元数据管理

Nacos配置模型

Namespace:用于不同环境配置隔离(开发、测试。。。)

DataId:配置集,一个工程下一个DataId(配置文件)

Group:一个项目一个组

public是默认的Namespace

Nacos 快速开始

Nacos依赖Java环境,先准备好Java环境

Nacos 依赖 Java 环境来运行。如果您是从代码开始构建并运行Nacos,还需要为此配置 Maven环境,请确保是在以下版本环境中安装使用:

  1. 64 bit OS,支持 Linux/Unix/Mac/Windows,推荐选用 Linux/Unix/Mac。
  2. 64 bit JDK 1.8+;下载 & 配置
  3. Maven 3.2.x+;下载 & 配置

您可以从 最新稳定版本 下载 nacos-server-$version.zip 包。

Windows下启动

在Nacos所在目录下

startup.cmd -m standalone 单机运行,默认是集群

发布配置

cmd中执行
    curl -X POST "http://127.0.0.1:8848/nacos/v1/cs/configs?dataId=nacos.cfg.dataId&group=test&content=HelloWorld"

获取配置

curl -X GET "http://127.0.0.1:8848/nacos/v1/cs/configs?dataId=nacos.cfg.dataId&group=test"

发布后配置后,也可到http://127.0.0.1:8848/nacos下查看配置

Nacos+SpringCloud

在nacos 服务 配置一个文件,nacos-demo.yml

在这里插入图片描述

引入依赖

        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
            <version>2.0.2.RELEASE</version>
        </dependency>
		<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-configuration-processor</artifactId>
        </dependency>

创建bootstrap.properties

spring.cloud.nacos.config.server-addr=127.0.0.1:8848 #nacos服务地址
spring.application.name=nacos-demo		# 项目服务名
spring.cloud.nacos.config.namespace=14dbb2cf-e01a-426e-8c28-f9d384371962 #nacos命名空间
spring.cloud.nacos.config.group=dev # 组
spring.cloud.nacos.config.file-extension=yml #文件后缀

#拼接的 DataId = nacos-demo.yml
#			${spring.application.name}.${file.extension}

在启动类,简单测试

使用@Value("${person.name}")方式,远程获取配置信息

@SpringBootApplication
@RestController
public class NacosCloudApplication {

    public static void main(String[] args) {
        SpringApplication.run(NacosCloudApplication.class, args);
    }

    @Value("${person.name}")
    private String name;
    @Value("${person.age}")
    private String age;

    @GetMapping("/config")
    public String getConfig() {
        return name + age;
    }

}

访问localhost:8080/config,如图,测试成功

在这里插入图片描述

扩展

Nacos功能

监听查询:nacos文件改动,立即推送到Client

登录管理:可以改动密码(nacos+mysql时能用)

如果想要自动登录,不输入账号密码:

去nacos–>config–>application.properties中修改配置,即可

spring.security.enabled=false

Nacos常用配置

spring.cloud.nacos.config.server-addr=127.0.0.1:8848
spring.application.name=nacos-demo
spring.cloud.nacos.config.namespace=14dbb2cf-e01a-426e-8c28-f9d384371962
spring.cloud.nacos.config.group=dev
spring.cloud.nacos.config.file-extension=yml

DataId扩展(优先级低于内部规则)

spring.cloud.nacos.config.extension-configs[0].group=dev
spring.cloud.nacos.config.extension-configs[0].data-id=service1.yml
spring.cloud.nacos.config.extension-configs[1].group=DEFAULT_GROUP
spring.cloud.nacos.config.extension-configs[1].data-id=service2.yml
spring.cloud.nacos.config.extension-configs[1].refresh=true

#可以用spring.cloud.nacos.config.namespace 声明 命名空间
#extension-configs是一个List集合
#可以根据下标,选择连接多个配置文件,并且可以 直接声明group和dataId
#但是 优先级要低于 内部规则的DataId,
#[n] n的值越大,优先级越高
#refresh 是指 动态配置

spring.cloud.nacos.config.enabled=false,关闭配置,不去连接nacos

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值