Nacos 入门之使用Nacos做配置中心《二》

简介

Nacos除了实现了服务的注册发现之外,还能将配置中心功能整合在了一起。通过Nacos的配置管理功能,我们可以将整个系统内的所有配置都集中在Nacos中存储。这样做的好处,主要有以下几点:

  • 分离的多环境配置,可以更灵活的管理权限,安全性更高
  • 应用程序的打包更为纯粹,以实现一次打包,多处运行的特点

Nacos的配置管理模型与淘宝开源的配置中心Diamond类似,基础层面都通过DataIdGroup来定位配置内容,除此之外还增加了很多其他的管理功能。

创建配置

  1. 创建一个Spring Boot应用,可以命名为:nacos-demo

  2. 配置maven

    
    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0modelVersion>
        <parent>
            <groupId>org.springframework.bootgroupId>
            <artifactId>spring-boot-starter-parentartifactId>
            <version>2.2.6.RELEASEversion>
            <relativePath/> 
        parent>
    
        <groupId>cn.zensezzgroupId>
        <artifactId>nacos-demoartifactId>
        <version>0.0.1-SNAPSHOTversion>
        <name>nacos-demoname>
        <description>Demo project for Spring Bootdescription>
    
        <properties>
            <java.version>1.8java.version>
        properties>
    
    
        <dependencyManagement>
            <dependencies>
                <dependency>
                    <groupId>org.springframework.cloudgroupId>
                    <artifactId>spring-cloud-dependenciesartifactId>
                    <version>Hoxton.SR1version>
                    <type>pomtype>
                    <scope>importscope>
                dependency>
                <dependency>
                    <groupId>org.springframework.cloudgroupId>
                    <artifactId>spring-cloud-alibaba-dependenciesartifactId>
                    <version>0.2.2.RELEASEversion>
                    <type>pomtype>
                    <scope>importscope>
                dependency>
            dependencies>
        dependencyManagement>
    
        <dependencies>
            <dependency>
                <groupId>org.springframework.bootgroupId>
                <artifactId>spring-boot-starter-webartifactId>
            dependency>
            <dependency>
                <groupId>org.springframework.cloudgroupId>
                <artifactId>spring-cloud-starter-alibaba-nacos-configartifactId>
            dependency>
            <dependency>
                <groupId>org.projectlombokgroupId>
                <artifactId>lombokartifactId>
                <version>1.16.22version>
                <optional>trueoptional>
            dependency>
        dependencies>
    
        <build>
            <plugins>
                <plugin>
                    <groupId>org.springframework.bootgroupId>
                    <artifactId>spring-boot-maven-pluginartifactId>
                plugin>
            plugins>
        build>
    
    project>
    
    
    • 使用的springcloud的是最新版的H版,建议现在项目的开发先别用这个。

    • spring cloud alibaba还未纳入spring cloud的主版本管理中,所以需要自己加入

  3. 配置服务名称和Nacos地址 spring.cloud.nacos.config.server-addr=127.0.0.1:8848

  4. 启动上面的应用

    @SpringBootApplication
    public class NacosDemoApplication {
    
        public static void main(String[] args) {
            SpringApplication.run(NacosDemoApplication.class, args);
        }
        
        @RestController
        @RefreshScope
        static class TestController {
    
            @Value("${nacos.address}")
            private String address;
    
            @GetMapping("/address")
            public String address() {
                return address;
            }
        }
    }
    
  5. 验证配置获取和验证动态刷新
    访问接口: localhost:8080/address,一切正常的话,将返回Nacos中配置的spring-cloud-alibaba-learning。然后,再通过Nacos页面,修改这个内容,点击发布之后,再访问接口,可以看到返回结果变了。

    crul  localhost:8080/address
    
  6. 在Nacos中修改了Key,在用到这个配置的应用中,也自动刷新了这个配置信息

你可能感兴趣的:(微服务)