• 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 类型。
  • 相关阅读:
    C/C++轻量级并发TCP服务器框架Zinx-游戏服务器开发003:架构搭建-需求分析及TCP通信方式的实现
    Nginx学习笔记02——安装部署Nginx
    同构和异构经典图神经网络汇总+pytorch代码
    node+mysql+navicat一条龙流程
    Vue Webpack介绍及安装
    eclipsejava
    苹果平板不用原装笔可以吗?值得入手的几款ipad触控笔
    【云计算知识库】什么是云?什么是云计算?计算的是什么?openstack是什么?nova计算组件?【持续更新中】
    第三届阿里云磐久智维算法大赛——GRU BaseLine
    Spring Cloud Feign--使用Nacos作为Ribbon的负载均衡策略
  • 原文地址:https://blog.csdn.net/qq_43568790/article/details/125520310