• SpringCloud--nacos 入门使用


    简单介绍

    nacos是阿里巴巴开源的一个用于服务发现服务配置等功能的开源项目。

    安装

    我这里是安装在Linux系统上、在官网nacos-GitHub下载网址去找相关版本进行下载的(如图所示)
    在这里插入图片描述
    下载完成之后,使用命令解压(其中$version是自己下载的版本)

    tar -zxvf nacos-server-$version.tar.gz
    
    • 1

    解压完成后进入bin目录中,使用启动命令(standalone表示单机模式非集群)

    bash startup.sh -m standalone
    
    • 1

    启动之后可以通过 ip:8848/nacos/index.html 网页查看是否启动成功。
    ps: 启动前要确保系统中安装了jdk以及maven
    在这里插入图片描述

    结合SpringCloud使用-服务发现

    1.添加依赖

    下面这两个依赖,config是用来服务配置,discovery是用来服务发现的,这里这两个版本对应springboot的版本是2.2.5.RELEASE。

    <dependency>
                <groupId>com.alibaba.cloud</groupId>
                <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
                <version>2.2.1.RELEASE</version>
    </dependency>
    <dependency>
                <groupId>com.alibaba.cloud</groupId>
                <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
                <version>2.2.1.RELEASE</version>
    </dependency>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    2.添加注解

    在启动类上添加@EnableDiscoveryClient,这样服务就可以被nacos发现并注册进去。

    3.配置文件

    server.port=8080
    spring.application.name=service-consumer
    spring.cloud.nacos.config.server-addr=xx.xx.xx.xx:8848
    spring.cloud.nacos.discovery.server-addr=xx.xx.xx.xx:8848
    
    • 1
    • 2
    • 3
    • 4

    启动该服务,在nacos网页(上面有提到)中就可以看到该服务注册进去了。

    结合SpringCloud使用-服务配置

    依赖和配置文件同上面的。
    1.在代码中,通过 Spring Cloud 原生注解 @RefreshScope 实现配置自动更新:

    @RestController
    @RequestMapping("/config")
    @RefreshScope
    public class ConfigController {
    
        @Value("${useLocalCache:false}")
        private boolean useLocalCache;
    
        @RequestMapping("/get")
        public boolean get() {
            return useLocalCache;
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    2.服务配置可以通过代码发布

    curl -X POST "http://127.0.0.1:8848/nacos/v1/cs/configs?dataId=example.properties&group=DEFAULT_GROUP&content=useLocalCache=true"
    
    • 1

    也可以在该网页上进行,这样在修改一个配置项的时候就可以动态进行而不是重启服务,修改完成之后刷新网页就可以发现其改变了。
    在这里插入图片描述
    注意,其中的dataId需要和代码中的一致
    在 Nacos Spring Cloud 中,dataId 的完整格式如下:
    ${prefix}-${spring.profiles.active}.${file-extension}

    • prefix 默认为 spring.application.name 的值,也可以通过配置项 spring.cloud.nacos.config.prefix来配置。
    • spring.profiles.active 即为当前环境对应的 profile,详情可以参考 Spring Boot文档。 注意:当 spring.profiles.active 为空时,对应的连接符 - 也将不存在,dataId 的拼接格式变成 ${prefix}.${file-extension}
    • file-exetension 为配置内容的数据格式,可以通过配置项 spring.cloud.nacos.config.file-extension 来配置。目前只支持 properties 和 yaml 类型。
  • 相关阅读:
    redis常见面试题
    如何在内网搭建SFTP服务器,并发布到公网可访问
    grid实现“品”字布局
    StringAOP统一问题处理
    TCP三次握手以及UDP相关知识
    多用户对应多租户解决方案
    Himall商城字符串帮助类移除前导/后导字符串
    Linux发展史
    设计模式学习(二十四):Spring 中使用到的设计模式
    pytorch+LSTM实现使用单参数预测,以及多参数预测(代码注释版)
  • 原文地址:https://blog.csdn.net/qq_43568790/article/details/125520310