撇开原理不谈,先来介绍下nacos的基本使用,如下图nacos配置是以data id为单位进行使用的,基本上一个服务的一个配置文件就对应一个data id,支持的格式有xml,yaml,properties。
像一般的小型项目基本上一个项目一个dataId即可。这种已配置文件为基准的设计理念,比单单用key,value的配置中心是方便好多的,后者直接配置key泛滥。
还有一些比较有好的功能例如:配置克重,30天之内的版本查看,以命名空间为基准的权限控制,配置文件监听功能,可以支持不同部门人的使用。
2、配置获取上面是页面是页面配置,接下来给大家介绍如何通过代码获取配置。
2.1 spring boot 工程使用文档:https://nacos.io/zh-cn/docs/quick-start-spring-boot.html
按照官网给出的步骤写代码即可,有一点需要注意,如果你创建了一个新的命名空间
nacos.config.namespace=490e4226-9f11-4664-91d1-46b338062b71通过上面的方式指定命名空间即可
具体代码地址:
https://github.com/nacos-group/nacos-examples ,对应的工程如下。
2.2 spring 工程使用文档:https://nacos.io/zh-cn/docs/quick-start-spring.html
用法和spring boot类似,同样是在属性上加入NacosValue注解,不同的是,配置nacos文件配置源不同,得用下面这种方式配置。
@Configuration@EnableNacosConfig(globalProperties = @NacosProperties(serverAddr = "127.0.0.1:8848"))
/**
* Document: https://nacos.io/zh-cn/docs/quick-start-spring.html
* <p>
* Nacos 控制台添加配置:
* <p>
* Data ID:example
* <p>
* Group:DEFAULT_GROUP
* <p>
* 配置内容:useLocalCache=true
*/
@NacosPropertySource(dataId = "example", autoRefreshed = true)
public class NacosConfiguration {
}
具体代码地址:
https://github.com/nacos-group/nacos-examples ,对应的工程如下。
如果你的配置文件是一个复杂的json对象,也可用上面红框第三个工程实例进行监听复杂对象对应的配置文件的变化,然后赋值。
总结一句话,nacos整体上使用了模板方法的设计思想,将大块的功能给你实现,你需要要配置注解,或者简单实现一些特殊逻辑就能达到你的目的。