• SpringCloudAlibaba-Nacos配置中心


    开发环境

    开发工具:IDEA 2021.3.2

    JDK版本:JDK1.8

    Maven版本:Maven3.8

    SpringCloud版本:Hoxton.SR12

    SpringCloudAlibaba版本:2.2.7.RELEASE

    SpringBoot版本:2.3.12.RELEASE

    Nacos版本:2.0.3

    准备Nacos 

    Nacos官方文档(推荐阅读)

    下载安装包(下载速度慢,不推荐)

    ①GitHub下载nacos2.0.3安装包

     

    下载源码(推荐)

    ①根据Nacos官方文档,首先克隆源码(github太慢,使用gitee Nacos镜像)

    1. # -b 后面带的是nacos版本
    2. git clone -b 2.0.3 https://gitee.com/mirrors/Nacos.git

    ②克隆完之后,执行以下命令构建项目

    1. cd nacos/
    2.  
    3. mvn -Prelease-nacos -Dmaven.test.skip=true clean install -U  

    ③构建完项目之后,进入distribution\target\distribution\target\nacos-server-2.0.3\nacos\bin目录,下打开cmd,执行 startup.cmd -m standalone 命令启动nacos-server

    1. cd distribution\target\nacos-server-2.0.3\nacos\bin
    2. startup.cmd -m standalone

    ⑤浏览访问http://localhost:8848/nacos/index.html,登录客户端默认账号密码都是nacos

    创建项目

    创建spring cloud项目

    以Nacos为注册中心,搭建spring cloud项目

    创建子模块

    ①创建maven子模块,命名为cloud-provider-nacos-config8011

    ②导入依赖

    1. <dependencies>
    2. <dependency>
    3. <groupId>com.alibaba.cloudgroupId>
    4. <artifactId>spring-cloud-starter-alibaba-nacos-configartifactId>
    5. dependency>
    6. <dependency>
    7. <groupId>com.alibaba.cloudgroupId>
    8. <artifactId>spring-cloud-starter-alibaba-nacos-discoveryartifactId>
    9. dependency>
    10. <dependency>
    11. <groupId>org.springframework.bootgroupId>
    12. <artifactId>spring-boot-starter-webartifactId>
    13. dependency>
    14. <dependency>
    15. <groupId>org.springframework.bootgroupId>
    16. <artifactId>spring-boot-starter-actuatorartifactId>
    17. dependency>
    18. dependencies>

    ③创建bootstrap.yml配置文件

    1. server:
    2. port: 8011
    3. spring:
    4. application:
    5. name: cloud-provider-nacos-config
    6. cloud:
    7. nacos:
    8. #注册与发现中心
    9. discovery:
    10. server-addr: 127.0.0.1:8848
    11. #配置中心
    12. config:
    13. server-addr: 127.0.0.1:8848
    14. prefix: ${spring.application.name}
    15. file-extension: yaml #配置文件格式(只支持yaml和properties)

    ④创建application.yml配置文件

    1. spring:
    2. profiles:
    3. active: dev

    ⑤创建启动类,添加@EnableDiscoveryClient注解

    1. @EnableDiscoveryClient
    2. @SpringBootApplication
    3. public class ProviderNacosConfig8011 {
    4. public static void main(String[] args) {
    5. SpringApplication.run(ProviderNacosConfig8011.class, args);
    6. }
    7. }

    ⑥创建controller,添加@RefreshScope注解

    1. @RefreshScope
    2. @RestController
    3. @RequestMapping("provider")
    4. public class ProviderController {
    5. // nacos配置文件里面的info的值
    6. @Value("${info}")
    7. private String info;
    8. @GetMapping("getInfo")
    9. public String getInfo() {
    10. return info;
    11. }
    12. }

    ⑦浏览器打开http://localhost:8848/nacos/index.html#/login,登录客户端,添加配置

     ⑧新建配置,根据Nacos官方文档中给的的Data ID的完整格式${prefix}-${spring.profiles.active}.${file-extension},填写Data ID

     ⑨填写配置内容并发布

    info: cloud-provider-nacos-config-8011

    测试

    启动Nacos注册中心

     

    启动cloud-provider-nacos-config8011

     

    测试

    ①浏览器访问http://localhost:8011/provider/getInfo,获取配置文件中的info的值

    ②修改info的值

    info: cloud-provider-nacos-config-修改之后的值

    ③再次访问http://localhost:8011/provider/getInfo,获取info的值

    总结

    Nacos-config实现了获取配置文件和自动刷新的功能。把Spring Cloud Config的获取配置文件和Spring Cloud Bus的刷新配置文件两个功能融合在了一起,中间还省了发送请求来刷新配置文件的步骤。

  • 相关阅读:
    input六位验证码,输入自动跳到下一格,删除自动回退到上一格
    ERROR 2003 (HY000) Can‘t connect to MySQL server on ‘localhost3306‘ (10061)解决办法
    C++异常和断言
    sentinel架构底层原理剖析详解
    SAP ABAP ALV 层次顺序表如何使用双表头(Multiple Headers)进行数据输出
    【正点原子STM32连载】第五十三章 DSP测试实验 摘自【正点原子】MiniPro STM32H750 开发指南_V1.1
    javascript_forEach踩坑
    生成对抗网络Generative Adversarial Network,GAN
    走近科学之《spring security 的秘密》
    0087 二叉树
  • 原文地址:https://blog.csdn.net/weixin_46899412/article/details/127709173