springcloud集成nacos(详细)

一、什么是nacos

官方:一个更易于构建云原生应用的动态服务发现服务配置、和服务管理平台
理解:注册中心(如:服务地址注册进去根据名称调用)、配置中心(如:每个服务yaml中的配置)、服务管理(可视化管理平台)

二、nacos的下载与启动

1.下载地址

https://github.com/alibaba/nacos/releases

2.修改默认的集群方式

本地启动单机模式需要修改nacos/bin/startup.cmdset MODE="cluster"改set MODE="standalone",将集群修改为单机(不然启动会报错)

3.若端口被占用,可以修改

Nacos的默认端口是8848,如果你电脑上的其它进程占用了8848端口,请先尝试关闭该进程。如果无法关闭占用8848端口的进程,也可以进入nacos的conf目录,修改配置文件中的端口

4.启动nacos

下载后解压,进入bin目录双击启动startup.cmd

框中的就是默认的nacos配置中心的地址

复制网址进入,默认的账号密码都是nacos

 进入到页面

 三、SpringCloud集成nacos步骤

1、在pom文件中引入依赖

复制代码
     <!-- nacos客户端依赖包 -->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
        </dependency>
        <!--nacos的配置管理依赖-->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
        </dependency>
复制代码

2.添加bootstrap.yml文件

主要是对Nacos的作为配置中心的功能进行配置

复制代码
spring:
  application:
    name: access
  profiles:
    active: dev
  cloud:
    nacos:
      discovery:
        server-addr: 127.0.0.1:8848 #Nacos服务注册中心地址
        #namespace: dab22371-b924-4d2c-969f-f28e39e484b6
      config:
        server-addr: 127.0.0.1:8848 #Nacos作为配置中心地址
        file-extension: yml #指定yaml格式的配置
        refresh-enabled: true #动态刷新配置
        #namespace: dev
        #group: ACCESS_GROUP
        namespace: dev
        group: ACCESS_GROUP
      username: nacos
      password: nacos
复制代码

3.在nacos界面添加配置信息

 

 添加完成之后发布配置

4.创建controller来测试

测试代码

@RefreshScope 可以使Nacos 客户端运行过程中可以获取到配置中心配置的变化然后更新

复制代码
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
@RestController
@RequestMapping(value = "/config")
public class ConfigController {

    /**
     * 读取 nacos 配置信息
     */
    @Value(value = "${conf.name}")
    private String name;

    /**
     * 获取配置内容
     *
     * @return
     */
    @RequestMapping(value = "/get")
    public String getConfig() {
        return name;
    }

}
复制代码

测试成功

 5.更改nacos配置信息重新发布测试

在nacos界面编辑配置修改文字信息,并发布

 再次测试

 

到这里,nacos已经实现了实时的配置动态更新

其他配置可以参考官方文档

https://github.com/alibaba/spring-cloud-alibaba/wiki/Nacos-config
posted @   企业级理解  阅读(3140)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示