2、nacos
1、Nacos官方文档的说明已经很清晰了。
https://nacos.io/zh-cn/docs/quick-start-spring-cloud.html
2、前提条件
https://nacos.io/zh-cn/docs/quick-start.html
3、下载nacos
https://github.com/alibaba/nacos/releases
我这里下载1.4.1版本
4、启动nacos
startup.cmd -m standalone
5、配置中心
5.1、单配置
5.1.1、创建项目结构如下
5.1.2、在guo中配置依赖管理
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>${spring-boot.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>${spring-cloud.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
在项目 guo-config 添加依赖
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
<version>${spring-cloud.alibaba}</version>
</dependency>
为了方便测试,添加web的依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
这里需要注意的是几个版本的关系
请参考: https://github.com/alibaba/spring-cloud-alibaba/wiki/%E7%89%88%E6%9C%AC%E8%AF%B4%E6%98%8E
我这里使用 Spring Cloud Hoxton.SR8,Spring Cloud Alibaba 2.2.5.RELEASE,Spring Boot 2.3.2.RELEASE
在项目guo-config添加配置文件bootstrap.properties
spring.cloud.nacos.config.server-addr=127.0.0.1:8848
spring.application.name=example
spring.cloud.nacos.config.file-extension=yml
prefix
默认为spring.application.name
的值,也可以通过配置项spring.cloud.nacos.config.prefix
来配置。spring.profiles.active
即为当前环境对应的 profile。 注意:当spring.profiles.active
为空时,对应的连接符-
也将不存在,dataId 的拼接格式变成${prefix}.${file-extension}
file-exetension
为配置内容的数据格式,可以通过配置项spring.cloud.nacos.config.file-extension
来配置。目前只支持properties
和yaml
类型。
在nacos添加配置文件 example.yml, 这里我们没有配置 spring.cloud.nacos.config.prefix,spring.profiles.active 所以nacos配置文件名称就会变成 example.yml
编写配置测试类 @RefreshScope 注解将自动刷新配置
@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;
}
}
启动
@SpringBootApplication
public class NacosConfigApplication { public static void main(String[] args) {
SpringApplication.run(NacosConfigApplication.class, args);
}
}
启动发现这样一行日志: Ignore the empty nacos configuration and get it based on dataId[example.yaml] & group[DEFAULT_GROUP]
表示没有找到配置文件 example.yaml,查看配置文件,发现我们配置的文件后缀为 yaml ,而我们在nacos中的配置文件为 example.yml 所以无法找到naocs配置。修改 bootstrap.properties 中 spring.cloud.nacos.config.file-extension=yml 后重启正常。
调用 http://localhost:8080/config/get 返回结果 false
修改nacos配置【useLocalCache: true】重新访问结果 true
5.2、多配置 编写配置文件 bootstrap.yml
spring:
application:
name: example
cloud:
nacos:
config:
server-addr: 127.0.0.1:8848
#第一种配置方式
ext-config:
- data-id: app.properties
group: DEFAULT_GROUP
# refresh: true
- data-id: jdbc.properties
group: DEFAULT_GROUP
- data-id: redis.properties
group: DEFAULT_GROUP
#第二种配置方式,不刷新
shared-dataids: yiwuxia.properties
#第二种配置方式,自动刷新配置
refreshable-dataids: test-one.properties, test-two.properties
2、nacos的更多相关文章
- SpringCloud-动态配置变化监控-获取变化(支持Config、Nacos)
SpringCloud-动态配置变化监控-获取变化(支持Config.Nacos) qq交流群: 812321371 微信交流群: MercyYao 简介 配置中心有原生的 SpringCloud C ...
- consul、eureka、nacos对比
consul.eureka.nacos对比 配置中心 eureka 不支持 consul 支持 但用起来偏麻烦,不太符合springBoot框架的命名风格,支持动态刷新 nacos 支持 用起来简单, ...
- Spring Cloud Alibaba生态探索:Dubbo、Nacos及Sentinel的完美结合
@ 目录 背景 一.项目框架 1.1 采用IDEA和Maven多模块进行项目搭建 1.2 模块管理及版本管理 二.微服务公共接口 2.1 定义一个公共接口Api 2.2 pom.xml 2.3 Goo ...
- Spring Cloud Config、Apollo、Nacos配置中心选型及对比
Spring Cloud Config.Apollo.Nacos配置中心选型及对比 1.Nacos 1.1 Nacos主要提供以下四大功能 2.Spring Cloud Config 3.Apollo ...
- 保姆教程系列二、Nacos实现注册中心
前言: 请各大网友尊重本人原创知识分享,谨记本人博客:南国以南i 上篇我们介绍到 保姆教程系列一.Linux搭建Nacos 注册中心原理 一.环境准备 Java版本:1.8+ (Linux ce ...
- 学习一下 SpringCloud (二)-- 服务注册中心 Eureka、Zookeeper、Consul、Nacos
(1) 相关博文地址: 学习一下 SpringCloud (一)-- 从单体架构到微服务架构.代码拆分(maven 聚合): https://www.cnblogs.com/l-y-h/p/14105 ...
- Linux 设置开机自启动脚本(ES、MySQL、Nacos、Nginx)
/etc/rc.d/init.d 中文件会在 Linux 系统各项服务都启动完毕之后再被运行 cd /etc/rc.d/init.d:新建xxx.sh文件. chmod +x xxx.sh,赋予可执行 ...
- 学习一下 SpringCloud (五)-- 配置中心 Config、消息总线 Bus、链路追踪 Sleuth、配置中心 Nacos
(1) 相关博文地址: 学习一下 SpringCloud (一)-- 从单体架构到微服务架构.代码拆分(maven 聚合): https://www.cnblogs.com/l-y-h/p/14105 ...
- 学习一下 SpringCloud (六)-- 注册中心与配置中心 Nacos、网关 Gateway
(1) 相关博文地址: 学习一下 SpringCloud (一)-- 从单体架构到微服务架构.代码拆分(maven 聚合): https://www.cnblogs.com/l-y-h/p/14105 ...
随机推荐
- 解决无法访问github的问题
当我们想学习下载某个大神分享的github项目时,由于github域名解析异常,时常会无法访问Github网站. 下面是我总结分享的有效解决方法:思路是自己手动修改hosts文件添加域名解析! 下面教 ...
- Jaxb的优点与用法(bean转xml的插件,简化webservice接口的开发工作量)
一.jaxb是什么 JAXB是Java Architecture for XML Binding的缩写.可以将一个Java对象转变成为XML格式,反之亦然. 我们把对象与关系数据库之间的映射称 ...
- 动态更换animator的animatorcontroller
你可以这样 Animator animator = this.gameObject.GetComponent<Animator>(); animator.runtimeAnimatorCo ...
- 【JVM进阶之路】十四:类加载器和类加载机制
在上一章里,我们已经学习了类加载的过程,我们知道在加载阶段需要"通过一个类的全限定名来获取描述该类的二进制字节流",而来完成这个工作的就是类加载器(Class Loader). 1 ...
- l初识CSRF(跨站请求伪造)
一 CSRF是什么 CSRF(Cross-site request forgery)跨站请求伪造,也被称为"One Click Attack"或者Session Riding,通常 ...
- ADAS可行驶区域道路积水反光区域的识别算法
ADAS可行驶区域道路积水反光区域的识别算法 Water logging area reflecting recognition algorithm for ADAS 1. 工程概要 1.1 概述: ...
- GPU加速:宽深度推理
GPU加速:宽深度推理 Accelerating Wide & Deep Recommender Inference on GPUs 推荐系统推动了许多最流行的在线平台的参与.随着为这些系统提 ...
- 【八】Kubernetes 五种资源控制器详细介绍以及功能演示
一.控制器说明 Pod 的分类: 自主式 Pod:该类型的 Pod 无论是异常退出还是正常退出都不会被创建,也就是说没有对应的管理者. 控制器管理的 Pod:该类型 Pod 在控制器的生命周期里,控制 ...
- 二、创建测试JSP页面
root@web1 ~]# rm -rf /usr/local/tomcat/webapps/ROOT/* 1.创建测试网页 [root@web1 ROOT]# vim /usr/local/tomc ...
- 搞清楚Spring事件机制后:Spring的源码看起来简单多了
本文主讲Spring的事件机制,意图说清楚: 什么是观察者模式? 自己实现事件驱动编程,对标Spring的事件机制 彻底搞懂Spring中的事件机制,从而让大家 本文内容较长,代码干货较多,建议收藏后 ...