Spring Cloud Alibaba学习 :使用Nacos作为配置中心 - Go语言中文社区

Spring Cloud Alibaba学习 :使用Nacos作为配置中心


Nacos的另外一个重要能力:配置管理

简介

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

1.分离的多环境配置,可以更灵活的管理权限,安全性更高

2.应用程序的打包更为纯粹

启动nacos

创建配置

新建配置 

其中:

  • Data ID:填入alibaba-nacos-config-client.properties
  • Group:不修改,使用默认值DEFAULT_GROUP
  • 配置格式:选择Properties
  • 配置内容:应用要加载的配置内容,这里仅作为示例,做简单配置,比如:useLocalCache=true

创建应用

1.命名为:nacos-config。

2.编辑pom加入依赖
 

<parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.0.5.RELEASE</version>
        <relativePath />
    </parent>
    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>
    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>Finchley.SR1</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <dependency>
                <groupId>com.alibaba.cloud</groupId>
                <artifactId>spring-cloud-alibaba-dependencies</artifactId>
                <version>2.0.0.RELEASE</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-config</artifactId>
            <version>2.0.0.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.2</version>
            <optional>true</optional>
        </dependency>
    </dependencies>

配置主要做了三件事:

一:定义spring boot的版本这个要以nacos等版本相匹配 这里我用了com.alibaba.cloud的版本

注意:版本 0.2.x.RELEASE 对应的是 Spring Boot 2.x 版本,版本 0.1.x.RELEASE 对应的是 Spring Boot 1.x 版本。

更多版本对应关系参考:版本说明 Wiki

二:spring cloud的版本以及spring cloud alibaba的版本,由于spring cloud alibaba还未纳入spring cloud的主版本管理中,所以需要自己加入

三:当前应用要使用的依赖内容。这里主要新加入了Nacos的配置客户端模块:spring-cloud-starter-alibaba-nacos-config。由于在dependencyManagement中已经引入了版本,所以这里就不用指定具体版本了

3.NacosConfigApplication编写

/**
 * Hello world!
 *
 */
@SpringBootApplication
public class NacosConfigApp
{
    public static void main( String[] args )
    {
        SpringApplication.run(NacosConfigApp.class, args);
    }
}

ConfigController编写

@RestController
@RequestMapping("/config")
@RefreshScope
public class ConfigController {

    
    @Value("${useLocalCache:false}")
    private boolean useLocalCache;
    
    /**
     * http://localhost:8080/config/get
     */
    @RequestMapping("/get")
    public boolean get() {
        return useLocalCache;
    }
    
}

4.properties编写

bootstrap.properties 中配置 Nacos server 的地址和应用名

说明:之所以需要配置 spring.application.name ,是因为它是构成 Nacos 配置管理 dataId字段的一部分。

启动应用

访问接口: http://localhost:8072/config/get

SpinrCloud Alibaba系列学习

Sentinel starter 完成 Spring Cloud 应用的限流管理(一)

Spring Cloud Alibaba学习 :使用Nacos结合SpringCloud Gateway 完成 Spring Cloud 服务路由

下一篇 Spring Cloud Alibaba学习 :使用Nacos结合SpringCloud Gateway 完成 Spring Cloud 服务路由

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/xuexijava85/article/details/99825848
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2020-06-28 02:07:20
  • 阅读 ( 974 )
  • 分类:

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢