美文网首页
day18项目【权限管理和配置服务】-02 Nacos配置中心

day18项目【权限管理和配置服务】-02 Nacos配置中心

作者: 刊ing | 来源:发表于2020-07-28 19:21 被阅读0次

一、配置中心介绍

1、Spring Cloud Config

Spring Cloud Config 为分布式系统的外部配置提供了服务端和客户端的支持方案。在配置的服务端您可以在所有环境中为应用程序管理外部属性的中心位置。客户端和服务端概念上的Spring Environment 和 PropertySource 抽象保持同步, 它们非常适合Spring应用程序,但是可以与任何语言中运行的应用程序一起使用。当应用程序在部署管道中从一个开发到测试直至进入生产时,您可以管理这些环境之间的配置,并确保应用程序在迁移时具有它们需要运行的所有内容。服务器存储后端的默认实现使用git,因此它很容易支持标记版本的配置环境,并且能够被管理内容的各种工具访问。很容易添加替代的实现,并用Spring配置将它们插入。

Spring Cloud Config 包含了Client和Server两个部分,server提供配置文件的存储、以接口的形式将配置文件的内容提供出去,client通过接口获取数据、并依据此数据初始化自己的应用。Spring cloud使用git或svn存放配置文件,默认情况下使用git。

2、Nacos替换Config

Nacos 可以与 Spring, Spring Boot, Spring Cloud 集成,并能代替 Spring Cloud Eureka, Spring Cloud Config。通过 Nacos Server 和 spring-cloud-starter-alibaba-nacos-config 实现配置的动态变更。

(1)应用场景

    在系统开发过程中,开发者通常会将一些需要变更的参数、变量等从代码中分离出来独立管理,以独立的配置文件的形式存在。目的是让静态的系统工件或者交付物(如 WAR,JAR 包等)更好地和实际的物理运行环境进行适配。配置管理一般包含在系统部署的过程中,由系统管理员或者运维人员完成。配置变更是调整系统运行时的行为的有效手段。

如果微服务架构中没有使用统一配置中心时,所存在的问题:

- 配置文件分散在各个项目里,不方便维护

- 配置内容安全与权限

- 更新配置后,项目需要重启

nacos配置中心:系统配置的集中管理(编辑、存储、分发)、动态更新不重启、回滚配置(变更管理、历史版本管理、变更审计)等所有与配置相关的活动。

二、读取Nacos配置中心的配置文件

1、在Nacos创建统一配置文件

(1)点击创建按钮

(2)输入配置信息

a)Data ID 的完整规则格式如下

${prefix}-${spring.profile.active}.${file-extension}

- prefix 默认为所属工程配置spring.application.name 的值(即:nacos-provider),也可以通过配置项 spring.cloud.nacos.config.prefix来配置。

- spring.profiles.active=dev 即为当前环境对应的 profile。 注意:当 spring.profiles.active 为空时,对应的连接符 - 也将不存在,dataId 的拼接格式变成 ${prefix}.${file-extension}

- file-exetension 为配置内容的数据格式,可以通过配置项 spring.cloud.nacos.config.file-extension 来配置。目前只支持 properties 和 yaml 类型。

2、以service-statistics模块为例

(1)在service中引入依赖

(2)创建bootstrap.properties配置文件

(3)把项目之前的application.properties内容注释,启动项目查看效果

3、补充:springboot配置文件加载顺序

其实yml和properties文件是一样的原理,且一个项目上要么yml或者properties,二选一的存在。推荐使用yml,更简洁。

bootstrap与application

(1)加载顺序

这里主要是说明application和bootstrap的加载顺序。

bootstrap.yml(bootstrap.properties)先加载

application.yml(application.properties)后加载

bootstrap.yml 用于应用程序上下文的引导阶段。

bootstrap.yml 由父Spring ApplicationContext加载。

父ApplicationContext 被加载到使用 application.yml 的之前。

(2)配置区别

bootstrap.yml 和application.yml 都可以用来配置参数。

bootstrap.yml 可以理解成系统级别的一些参数配置,这些参数一般是不会变动的。

application.yml 可以用来定义应用级别的。

三、名称空间切换环境

在实际开发中,通常有多套不同的环境(默认只有public),那么这个时候可以根据指定的环境来创建不同的 namespce,例如,开发、测试和生产三个不同的环境,那么使用一套 nacos 集群可以分别建以下三个不同的 namespace。以此来实现多环境的隔离。

1、创建命名空间

默认只有public,新建了dev、test和prod命名空间

2、克隆配置

(1)切换到配置列表:

可以发现有四个名称空间:public(默认)以及我们自己添加的3个名称空间(prod、dev、test),可以点击查看每个名称空间下的配置文件,当然现在只有public下有一个配置。

默认情况下,项目会到public下找 服务名.properties文件。

接下来,在dev名称空间中也添加一个nacos-provider.properties配置。这时有两种方式:

第一,切换到dev名称空间,添加一个新的配置文件。缺点:每个环境都要重复配置类似的项目

第二,直接通过clone方式添加配置,并修改即可。推荐

相关文章

  • nacos配置中心单击模式改造为集群模式

    nacos作为配置中心可以将配置项目的配置提取到外部,独立管理,当nacos单机部署时,当nacos服务不正常时,...

  • day18项目【权限管理和配置服务】-02 Nacos配置中心

    一、配置中心介绍 1、Spring Cloud Config Spring Cloud Config为分布式系统的...

  • nacos初体验-踩坑与填坑篇

    最近在看RuoYi的分布式微服务架构权限管理系统,RuoYi的注册中心和配置中心都是采用alibaba的nacos...

  • nacos无法读取配置问题

    nacos无法读取配置问题 问题描述在nacos使用配置中心配置相关属性nacos配置中心在服务中添加bootst...

  • SpringCloud学习-Nacos配置管理

    前面了解了Nacos作为服务注册中心,现在了解下,Nacos作为配置管理中心 以前更改配置后,都需要手动重启工程才...

  • Nacos 配置应用于分布式系统

    一、Nacos 配置中心,写入属性值 二、项目引入 Nacos 配置中心依赖 三、配置信息修改 bootstra...

  • 03.Nacos 注册中心

    Nacos 注册中心 概述 Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集...

  • Nacos配置中心

    Nacos作为服务配置中心。 1.使用: 在项目中引入相关依赖:需注意nacos、springboot、sprin...

  • nacos(1)简介

    1. 是什么 一个更易于构建云原生应用的动态服务发现,配置管理和服务管理中心 Nacos就是注册中心+配置中心的组...

  • 小试nacos

    nacos 一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。Nacos 致力于发现、配置和管理微服...

网友评论

      本文标题:day18项目【权限管理和配置服务】-02 Nacos配置中心

      本文链接:https://www.haomeiwen.com/subject/ngyfrktx.html