zoukankan      html  css  js  c++  java
  • SpringCloud Alibaba-Nacos[作为配置中心]

    一、首先,修改 pom.xml 文件,引入 Nacos Config Starter

    <dependency>
         <groupId>com.alibaba.cloud</groupId>
         <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
    </dependency>

    二、在应用的 /src/main/resources/bootstrap.properties 配置文件中配置 Nacos Config 元数据

    spring.application.name=gulimall-coupon
    spring.cloud.nacos.config.server-addr=127.0.0.1:8848
    spring.cloud.nacos.config.namespace=8624c855-f7ba-4958-aaf4-f5baaa128cdb
    spring.cloud.nacos.config.group=dev

    三、需要给配置中心默认一个叫数据集(Data Idgulimall-coupon.properties 默认规则,应用名.properties

    四、给应用名.properties添加任何配置

    五、动态获取配置

    @RefreshScope:动态获取并刷新配置

    @Values(“${配置项的名}”),@ConfigurationProperties:获取配置

    如果配置中心和当前应用的配置文件中都配置了相同的项,优先使用配置中心的配置,以前SpringBoot任何方法从配置文件中获取值,都能使用,配置中心有优先使用配置中心的

    六、核心概念

    1、命名空间

    用于进行租户粒度的配置隔离,不同的命名空间下,可以存在相同的GroupDataID的配置。Namespaces的常用场景之一是不同环境的配置的区分隔离,例如开发测试环境和生产环境的资源(如配置、服务)隔离等。(默认:public保留空间,默认新增的所有配置都在public空间)

    1)开发、测试、生产:利用命名空间来做环境隔离

    注意:在bootstrap.properties;配置上需要使用哪个命名空间下的配置

    spring.cloud.nacos.config.namespace=8624c855-f7ba-4958-aaf4-f5baaa128cdb

    2)每一个服务之间互相隔离配置,每一个微服务都创建自己的命名空间,只加载自己命名空间下的所有配置。

    2、配置集

    一组相关或者不相关的配置项的集合称为配置集。在系统中,一个配置文件通常就是一个配置集,包含了系统各个方面的配置。例如,一个配置集可能包含了数据源、线程池、日志级别等配置项。

    配置集ID

    Nacos中某个配置集的ID。配置集ID是组织划分配置的维度之一。Data ID通常用于组织划分系统的配置集。一个系统或者应用可以包含多个配置集,每个配置集都可以被一个有意义的名称标识。Data ID通常用类Java包(如com.taobao.tc.refund.log.level)的命名规则保证全局唯一性。此命名规则非强制性。

    3、配置分配

    Nacos中一组配置集,是组织配置的维度之一。通过一个有意义的字符串(如BuyTrade)对配置集进行分组,从而区分Data ID相同的配置集。当您在Nacos上创建一个配置时,如果未填写配置分组名称,则配置分组的名称默认采用DEFAULT_GROUP。配置分组的常见场景,不同的应用使用了相同的配置类别.

    七、微服务任何配置信息,任何配置文件都可以配置在配置中心中

    只需要在bootstrap.properties说明加载配置中心哪些配置文件即可。

    spring.application.name=gulimall-coupon
    spring.cloud.nacos.config.server-addr=127.0.0.1:8848
    spring.cloud.nacos.config.namespace=8624c855-f7ba-4958-aaf4-f5baaa128cdb
    spring.cloud.nacos.config.group=dev
    
    spring.cloud.nacos.config.ext-config[0].data-id=mybatis.yml
    spring.cloud.nacos.config.ext-config[0].group=dev
    spring.cloud.nacos.config.ext-config[0].refresh=true
    
    spring.cloud.nacos.config.ext-config[1].data-id=datasource.yml
    spring.cloud.nacos.config.ext-config[1].group=dev
    spring.cloud.nacos.config.ext-config[1].refresh=true
    
    spring.cloud.nacos.config.ext-config[2].data-id=other.yml
    spring.cloud.nacos.config.ext-config[2].group=dev
    spring.cloud.nacos.config.ext-config[2].refresh=true
    

    总结:最终微服务只需要保留一个bootstrap.properties,让它一启动自己去配置中心中获取内容即可,可以将所有的配置都写在配置中心中。

     

  • 相关阅读:
    eclipse基础环境配置和svn、maven的配置以及maven的安装
    KindEditor 上传图片浏览器兼容性问题
    FastDFS 工具类实现文件上传_02
    FastDFS 实现图片上传_01
    jvm 堆、栈 、方法区概念和联系
    jvm 虚拟机的组成部分
    利用jQuery实现CheckBox全选/全不选/反选
    FastDFS架构
    Nginx 实现负载均衡
    Nginx 实现反向代理
  • 原文地址:https://www.cnblogs.com/wangdahui/p/13590295.html
Copyright © 2011-2022 走看看