zoukankan      html  css  js  c++  java
  • SpringCloud Alibaba Nacos Config 配置中心

    Nacos Config 使用
    1. 启动Nacos访问地址为:http://101.200.201.195:8848/nacos/

    准备工作完成后进行服务消费。

    第一步:创建一个Maven工程buscien-service-04

    第二步:编辑pom.xml,加入必要的依赖配置

    <!-- 导入bom依赖管理工程 -->
    <dependencyManagement>
            <dependencies>
                <dependency>
                    <groupId>com.opensource</groupId>
                    <artifactId>bom</artifactId>
                    <version>1.0.0</version>
                    <type>pom</type>
                    <scope>import</scope>
                </dependency>
            </dependencies>
        </dependencyManagement>
    <!-- 业务服务所需依赖 -->
        <dependencies>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
            </dependency>
            <dependency>
                <groupId>com.alibaba.cloud</groupId>
                <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
            </dependency>
            <dependency>
                <groupId>com.alibaba.cloud</groupId>
                <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
            </dependency>
        </dependencies>
    

    在bom工程中已经全部定义好了对应的版本所以我们在业务工程中就不需要定义依赖版本了,统一在bom中进行维护。

    第三步:创建一个SpringBoot启动类,并且增加一个Http服务

    /**
     * SpringCloud Alibaba Nacos配置中心使用Demo
     *
     * @author WuWenTao
     * @version 1.0
     * @date 2020/9/2 14:18
     */
    @SpringBootApplication
    @EnableDiscoveryClient
    public class BuscienService04Appl {
    
        public static void main(String[] args) {
            SpringApplication.run(BuscienService04Appl.class, args);
        }
    }
    
    @RestController
    @RequestMapping("/config/")
    class NacosConfigPropertyController{
    
        @Value("${configinfo:defualt}")
        private String configinfo;
    
        @GetMapping("configinfo")
        public String configinfo(){
            return this.configinfo;
        }
    }
    

    以上内容非常清晰。NacosConfigPropertyController中请求服务返回一个configinfo字段,该字段源来于配置文件,如果没有则默认为default。

    第四步:编写bootstrap.properties

    server.port=4000
    spring.application.name=buscien-service-04-app
    spring.cloud.nacos.discovery.server-addr=101.200.201.195:8848
    
    spring.cloud.nacos.config.enabled=true
    spring.cloud.nacos.config.server-addr=101.200.201.195:8848
    spring.cloud.nacos.config.prefix=buscien-service-04-app
    spring.cloud.nacos.config.file-extension=properties
    spring.profiles.active=dev
    

    第五步:登陆Nacos管理界面,在配置列表中新增dev,test,uat三个环境配置作为三个环境不同配置。

    里面内容为configinfo=对应配置的DataId

    第六步:启动BuscienService04Appl,启动完成,在Nacos界面中能够看到注册上去的服务,访问BuscienService03Appl中的服务接口:

    http://localhost:4000/config/configinfo

    目前bootstrap.properties中的配置为:spring.profiles.active=dev

    访问服务接口页面打印:buscien-service-04-app-dev.properties

    将bootstrap.properties中的配置为:spring.profiles.active=uat

    访问服务接口页面打印:buscien-service-04-app-uat.properties

    这里是通过bootstrap.properties中的spring.profiles.active指定不同环境获取不同的配置,

    并且获取配置文件的规则为:${spring.cloud.nacos.config.prefix}-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}

    第六步:实现Nacos实时刷新配置,在NacosConfigPropertyController类上增加注解@RefreshScope代表这个类中的@Value属性为实时刷新的。在类上加上注解后重启服务。

    首次访问服务:http://localhost:4000/config/configinfo

    访问服务接口页面打印:buscien-service-04-app-uat.properties

    然后将Nacos页面中的DataId为buscien-service-04-app-uat.properties中的configinfo修改为:

    configinfo=配置实时刷新1

    再次访问服务:http://localhost:4000/config/configinfo

    访问服务接口页面打印:配置实时刷新1

    注:配置实时刷新并不是在Nacos中已修改就能够生效的,有秒级延迟

    源码地址:https://github.com/450255266/spring-cloud-alibaba

    Nacos地址对外开放:http://101.200.201.195:8848/nacos/

  • 相关阅读:
    SpringBoot-13-简单整合Dubbo
    SpringBoot-12-整合Redis
    SpringBoot-11-任务
    SpringBoot-10-Swagger
    SpringBoot-09-Apche Shiro
    SpringBoot-08-Spring Security
    五十七-代码审计-JAVA项目框架类漏洞分析报告
    五十六:代码审计-JAVA项目Filter过滤器及XSS挖掘
    五十五:代码审计-JAVA项目注入上传搜索或插件挖掘
    五十四:代码审计-TP5框架审计写法分析及代码追踪
  • 原文地址:https://www.cnblogs.com/SimpleWu/p/13668019.html
Copyright © 2011-2022 走看看