当前位置:首页 > 攻略

【applicationisinterrupted】《Alibaba微服务组件Nacos配置中心用户指南》

1.在Nacos配置中心使用

正式文件:cloud Alibaba/wiki/nacos config

Nacos为存储配置和其他元数据提供了密钥/值存储,并为分布式系统的外部化配置提供了服务器端和客户端支持。Spring Cloud Alibaba Nacos Config允许Nacos服务器集中管理Spring Cloud应用程序的外部属性配置。

维护2。及时性3。安全性

Springcloud config比较

三大优点:

Springcloud config大多数场景都与git一起使用,动态更改需要依赖Spring Cloud Bus消息总线通过所有客户端更改。springcloud config不提供可视化界面。nacos config使用长轮询更新配置,如果配置发生变化,通知供应商的过程非常简单。

快速入门

准备配置,在nacos服务器上创建新的nacos con

最佳实践:

Namespace:指开发、测试、生产环境等多种环境。

组:指XX医疗项目、XX电子商务项目等项目

DataId:每个项目下通常有多个工程(微服务)。每个配置集(DataId)如下所示

项目(微服务)的主配置文件

启动权限:修改a

构建Nacos-config服务

通过Nacos服务器和spring-cloud-starter-Alibaba-nacos-config动态更改配置

引进依赖

dependencygroupidcom . Alibaba . cloud/groupidartifactidspring‐cloud‐starter‐Alibaba‐nacos‐

Nacos config

#配置中心地址

‐addr=127.0.0.1:8848

# dataid是YAML的文件扩展名配置方法

# ` $ {}。$ {文件‐扩展3360属性} `

‐扩展=YAML

#profile粒度配置“$ { }‐$ { profile }”。$ { file‐extension 3360 properties } `

ode>

启动服务,测试微服务是否使用配置中心的配置

@SpringBootApplication public class NacosConfigApplication { public static void main(String[] args) { ConfigurableApplicationContext applicationContext = S, args); String userName = a().getProperty("common.name"); String userAge = a().getProperty("common.age"); Sy("common name :"+userName+"; age: "+userAge); } }

Config相关配置

Nacos 数据模型 Key 由三元组唯一确定, Namespace默认是空串,公共命名空间(public),分组默认是DEFAULT_GROUP

支持配置的动态更新

@SpringBootApplication public class NacosConfigApplication { public static void main(String[] args) throws InterruptedException { ConfigurableApplicationContext applicationContext = S, args); while(true) { //当动态配置刷新时,会更新到 Enviroment中,因此这里每隔一秒中从Enviroment中获取配置 String userName = a().getProperty("common.name"); StringuserAge= a().getProperty("common.age"); Sy("common name :" + userName + "; age: " + userAge); TimeUnit.SECONDS.sleep(1); } } }

ps:除了默认的配置文件, 其他dataId都要加上后缀

支持profile粒度的配置

spring­ cloud­ starter­ alibaba­ nacos ­config 在加载配置的时候,不仅仅加载了以dataid 为${}.${file-extension:properties} 为前缀的基础配置,还加载了dataid为

${}-${profile}.${file-extension:properties} 的基础配置。在日常开发中如果遇到多套环境下的不同配置,可以通过Spring 提供的 ${} 这个配置项来配置。

1 =dev

profile 的配置文件 大于 默认配置的文件。并且形成互补

ps:只有默认的配置文件, 才会应用profile

支持自定义 namespace 的配置

用于进行租户粒度的配置隔离。不同的命名空间下,可以存在相同的 Group 或 Data ID 的配置。Namespace 的常用场景之一是不同环境的配置的区分隔离,例如开发测试环境和生产环境的资源(如配置、服务)隔离等。

在没有明确指定 ${} 配置的情况下, 默认使用的是 Nacos 上 Public 这个namespace。如果需要使用自定义的命名空间,可以通过以下配置来实现:

1 =71bb9785‐231f‐4eca‐b4dc‐6be446e12ff8

支持自定义 Group 的配置

Group是组织配置的维度之一。通过一个有意义的字符串(如Buy 或 Trade )对配置集进行分组,从而区分 Data ID 相同的配置集。当您在 Nacos 上创建一个配置时,如果未填写配置分组的名称,则配置分组的名称默认采用

DEFAULT_GROUP 。配置分组的常见场景:不同的应用或组件使用了相同的配置类型,如 database_url 配置和MQ_topic 配置。

在没有明确指定 ${} 配置的情况下,默认是DEFAULT_GROUP 。如果需要自定义自己的Group,可以通过以下配置来实现:

1 =DEVELOP_GROUP

支持自定义扩展的 Data Id 配置

Data ID 是组织划分配置的维度之一。Data ID 通常用于组织划分系统的配置集。一个系统或者应用可以包含多个配置

集,每个配置集都可以被一个有意义的名称标识。Data ID 通常采用类 Java 包(如 com.)的命名规则保证全局唯一性。此命名规则非强制。

通过自定义扩展的 Data Id 配置,既可以解决多个应用间配置共享的问题,又可以支持一个应用有多个配置文件。

# 自定义 Data Id 的配置 #不同工程的通用配置 支持共享的 DataId [0].data‐id= common.yaml [0].group=REFRESH_GROUP [0].refresh=true # config external configuration # 支持一个应用多个 DataId 的配置 一定要加扩展名 [0].data‐id=ext‐config‐common01.properties [0].group=REFRESH_GROUP [0].refresh=true [1].data‐id=ext‐config‐common02.properties [1].group=REFRESH_GROUP [1].refresh=true

配置的优先级

Spring Cloud Alibaba Nacos Config 目前提供了三种配置能力从 Nacos 拉取相关的配置。

A: 通过 支持多个共享 Data Id 的配置

B: 通过 [n].data-id 的方式支持多个扩展 Data Id 的配置

C: 通过内部相关规则(应用名、应用名+ Profile )自动生成相关的 Data Id 配置当三种方式共同使用时,他们的一个优先级关系是:A < B < C

优先级从高到低:

  1. nacos­config­ 精准配置
  2. nacos­con 同工程不同环境的通用配置
  3. ext­config: 不同工程 扩展配置
  4. shared­dataids 不同工程通用配置

@RefreshScope

@Value注解可以获取到配置中心的值,但是无法动态感知修改后的值,需要利用@RefreshScope注解

@RestController @RefreshScope public class TestController { @Value("${common.age}") private String age; @GetMapping("/common") public String hello() { return age; } }

学习更多JAVA知识可关注微信公众号“老周扯IT”

1.《【applicationisinterrupted】《Alibaba微服务组件Nacos配置中心用户指南》》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。

2.《【applicationisinterrupted】《Alibaba微服务组件Nacos配置中心用户指南》》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。

3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/gl/2514702.html

上一篇

【GRF代表正式辞职】GRF代表正式辞职,GRF代表为什么辞职?

下一篇

【怪物猎人ol大剑】失魂落魄!怪物猎人世界:冰原大剑推荐

【applicationisinterrupted】Mybatis框架深入分析

【applicationisinterrupted】Mybatis框架深入分析

applicationisinterrupted相关介绍,Mybatis框架深入分析 学习Spring后,您学习了如何使用Bean在IoC容器中管理类。换句话说,现在可以以更方便的方式使用Mybatis框架。可以将SqlSessionFactory、Mapp...

【applicationisinterrupted】不要小看“弹簧过滤器”。这些知识点必须掌握。

  • 【applicationisinterrupted】不要小看“弹簧过滤器”。这些知识点必须掌握。
  • 【applicationisinterrupted】不要小看“弹簧过滤器”。这些知识点必须掌握。
  • 【applicationisinterrupted】不要小看“弹簧过滤器”。这些知识点必须掌握。

【applicationisinterrupted】G1 GC官方文件|最佳实践(翻译)

  • 【applicationisinterrupted】G1 GC官方文件|最佳实践(翻译)
  • 【applicationisinterrupted】G1 GC官方文件|最佳实践(翻译)
  • 【applicationisinterrupted】G1 GC官方文件|最佳实践(翻译)

【applicationisinterrupted】异常日志,不能解决问题吗?

  • 【applicationisinterrupted】异常日志,不能解决问题吗?
  • 【applicationisinterrupted】异常日志,不能解决问题吗?
  • 【applicationisinterrupted】异常日志,不能解决问题吗?
【applicationisinterrupted】高考题目作文一般使用词汇记忆和范文4。

【applicationisinterrupted】高考题目作文一般使用词汇记忆和范文4。

applicationisinterrupted相关介绍,31.主题:人际关系 常用词汇: harmonious和谐的friendly友好的civilized文明的honest真诚的credible诚实的be public-spirited有公德心的be i...

【applicationisinterrupted】服务首次参与

  • 【applicationisinterrupted】服务首次参与
  • 【applicationisinterrupted】服务首次参与
  • 【applicationisinterrupted】服务首次参与