基于SpringCloudAlibaba实现的NacosConfig

概述

Nacos除了实现了服务的注册发现之外,还将配置中心功能整合在了一起。通过Nacos的配置管理功能,我们可以将整个架构体系内的所有配置都集中在Nacos中存储。这样做的好处主要有以下几点: 分离的多环境配置,可以更灵活的管理权限,安全性更高 应用程序的打包更为纯粹,以实现一次打包,多处运行的特点

详细

详细

一、运行效果

基于SpringCloudAlibaba实现的NacosConfig_第1张图片

二、实现过程

①、创建配置

第一步:进入Nacos的控制页面,在配置列表功能页面中,点击右上角的“+”按钮,进入“新建配置”页面,如下图填写内容:

基于SpringCloudAlibaba实现的NacosConfig_第2张图片

②、创建

第一步:创建一个Spring Boot应用,可以命名为:nacos-config

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


    org.springframework.boot
    spring-boot-starter

 

    org.springframework.boot
    spring-boot-starter-web

 

    com.alibaba.cloud
    spring-cloud-starter-alibaba-nacos-config

 

    org.springframework.boot
    spring-boot-starter-test
    test

③、在微服务中添加nacos config的配置

spring:
  application:
    name: service-product
  cloud:
    nacos:
      config:
        server-addr: localhost:8848 # nacos的服务端地址
        file-extension: yaml # 配置文件格式
  profiles:
    active: dev

④、添加Controller访问测试

@RestController@RefreshScope
public class NacosConfigController {    @Value("${config.name}")    public String appName;    
     
    @GetMapping("/nacos-config")
    public     String nacosConfig() {       
     return  appName;
    }
}

三、项目结构图

基于SpringCloudAlibaba实现的NacosConfig_第3张图片

四、补充

服务配置中心介绍

  1. 配置文件相对分散。在一个微服务架构下,配置文件会随着微服务的增多变的越来越多,而且分散在各个微服务中,不好统一配置和管理。

  2. 配置文件无法区分环境。微服务项目可能会有多个环境,例如:测试环境、预发布环境、生产环境。每一个环境所使用的配置理论上都是不同的,一旦需要修改,就需要我们去各个微服务下手动
    维护,这比较困难。

  3. 配置文件无法实时更新。我们修改了配置文件之后,必须重新启动微服务才能使配置生效,这对一
    个正在运行的项目来说是非常不友好的。
    基于上面这些问题,我们就需要配置中心的加入来解决这些问题。

配置中心的思路是:

  • 首先把项目中各种配置全部都放到一个集中的地方进行统一管理,并提供一套标准的接口。

  • 当各个服务需要获取配置的时候,就来配置中心的接口拉取自己的配置。

  • 当配置中心中的各种参数有更新的时候,也能通知到各个服务实时的过来同步最新的信息,使之动态更新。

你可能感兴趣的:(WEB系列,java,开发语言)