—《管子》 昨天说了openfeign实现远程调用,今天继续 用nacos作为配置中心实现动态配置 依赖上面已经引入了,直接把官方的demo拿来 不过要注意,我们如果是yml配置的话千万别忘了指定file-extension spring: cloud: nacos: config: server-addr: 127.0.0.1:8848 file-extension ${file-extension} prefix 默认为 spring.application.name 的值,也可以通过配置项 spring.cloud.nacos.config.prefix来配置 {file-extension} file-exetension 为配置内容的数据格式,可以通过配置项 spring.cloud.nacos.config.file-extension 来配置。 : nacos: config: server-addr: 127.0.0.1:8848 namespace: ruben-dev file-extension
consumer-user #${prefix} cloud: nacos: config: server-addr: localhost:80 file-extension : yaml #${file-extension} 在Nacos管理中心添加配置 把application.yml的配置移动到nacos中 DataId格式为 ${prefix}-${spring.profile.active ${file-extension} 禁用本地的配置文件 创建成功运行 控制台已经打印出了nacos的配置文件 动态刷新 nacos可以动态化添加配置,不需要重启项目就可以读取配置 示例:在
namespace: dev config: server-addr: http://nacos.xhxnmx.net:8848 #文件后缀 file-extension namespace: dev config: server-addr: http://nacos.xhxnmx.net:8848 #文件后缀 file-extension
:8848 #服务注册到nacos注册中心的地址 config: server-addr: 127.0.0.1:8848 #Nacos作为配置中心地址 file-extension ${file-extension} dataId 格式中各参数说明如下: ${prefix}:默认取值为微服务的服务名,即配置文件中 spring.application.name 的值,我们可以在配置文件中通过配置 ${file-extension}。 ${file-extension}:表示配置内容的数据格式,可以在配置文件中通过配置项 spring.cloud.nacos.config.file-extension 来配置,例如 properties
port: 8082 spring: application: name: gateway-demo cloud: nacos: config: file-extension xx.xx.xx.xx:8848 # 注册中心地址 # 默认是没有密码的 config: server-addr: xx.xx.xx.xx:8848 # config地址 file-extension port: 8083 spring: application: name: member-server cloud: nacos: config: file-extension xx.xx.xx.xx:8848 # 注册中心地址 # 默认是没有密码的 config: server-addr: xx.xx.xx.xx:8848 # config地址 file-extension
bootstrap.yml配置文件: spring: cloud: nacos: config: server-addr: 127.0.0.1:8848 file-extension 哪些共享配置支持动态刷新,多个使用,分隔 refreshable-dataids: common1.yaml server-addr: 127.0.0.1:8848 file-extension bootstrap-ext-config.yml spring: cloud: nacos: config: server-addr: 127.0.0.1:8848 file-extension
${file-extension} prefix 默认为 spring.application.name 的值,也可以通过配置项 spring.cloud.nacos.config.prefix来配置 {file-extension} file-exetension 为配置内容的数据格式,可以通过配置项 spring.cloud.nacos.config.file-extension 来配置。
server-addr: http://localhost:8848 配置中心 config: server-addr: ${spring.cloud.nacos.discovery.server-addr} file-extension server-addr: http://localhost:8848 config: server-addr: ${spring.cloud.nacos.discovery.server-addr} file-extension
<profile name="default"> <param name="<em>file-extension</em>" value="wav"/> <profile name="videomail "> <param name="<em>file-extension</em>" value="mp4"/> 好了,如果用在留言时用default参数,就是wav,如果是videomail,就是mp4。
${file-extension} spring: application: name: config1 # 配置名 cloud: nacos: config: server-addr: 127.0.0.1:8848 # 配置中心地址 file-extension: yaml # 后缀名 namespace: 32210854-b7f7
name: nacos-provider cloud: nacos: config: server-addr: 127.0.0.1:8848 file-extension ${file-extension} 配置的扩展名是ymal,对应的配置文件地址是:nacos-provider-dev.yaml 3、控制器 添加@RefreshScope用于 实现配置的热加载 package
server-addr: 127.0.0.1:8848 # 配置中心地址 # spring.application.name + file-extension = service_a.properties file-extension: properties # dataid名称的后缀 = service_a.properties file-extension: properties # dataid名称的后缀 = service_a.properties file-extension: properties # dataid名称的后缀 「配置项的优先级」 #方式1 file-extension: properties # dataid名称的后缀 namespace: dfa1c276-69f7
server-addr: http://localhost:8848 配置中心 config: server-addr: ${spring.cloud.nacos.discovery.server-addr} file-extension server-addr: http://localhost:8848 config: server-addr: ${spring.cloud.nacos.discovery.server-addr} file-extension
name: example cloud: nacos: config: server-addr: 192.168.100.10:8848 file-extension ${file-extension} prefix 默认为 spring.application.name 的值,也可以通过配置项 spring.cloud.nacos.config.prefix来配置 注意:当 spring.profiles.active 为空时,对应的连接符 - 也将不存在,dataId 的拼接格式变成 {file-extension} file-exetension 为配置内容的数据格式
name: example cloud: nacos: config: server-addr: 192.168.100.10:8848 file-extension ${file-extension} prefix 默认为 spring.application.name 的值,也可以通过配置项 spring.cloud.nacos.config.prefix来配置 注意:当 spring.profiles.active 为空时,对应的连接符 - 也将不存在,dataId 的拼接格式变成 {file-extension} file-exetension 为配置内容的数据格式
discovery: server-addr: localhost:8848 config: server-addr: localhost:8848 file-extension config: server-addr: localhost:8848 file-extension: yaml namespace: asdasqe2e12312e1dasdad group
application: name: GoboyNacos cloud: nacos: config: server-addr: 8.xxx.xx.xxx:9001 file-extension ${file-extension}prefix:默认为 spring.application.name 的值。 file-extension:配置内容格式,支持 properties 和 yaml 格式。 上述的 bootstrap.yml 配置表示Nacos Server会读取 Data Id 为 GoboyNacos,file-extension类型为 YAML 配置类。
中的配置文件的名称对应上, 在这里还应该注意:Nacos中的配置文件的DataId中要写入文件的后缀,并且Nacos是区分yaml和yml的,所以Nacos中的后缀要和本地bootstrap.yml中的file-extension server-addr: localhost:8848 username: nacos password: nacos file-extension: yaml
discovery: server-addr: 10.211.55.11:8848 config: server-addr: 10.211.55.11:8848 file-extension 这里要注意,我们无需配置dataId, 代码中dataId 的组成规则是: prefix−{prefix}-prefix−{spring.profiles.active}-${file-extension {file-extension} file-exetension 为配置内容的数据格式,可以通过配置项 spring.cloud.nacos.config.file-extension 来配置。 注意: 如果file-extension写的是yml, nacos中的文件名就要叫userservice-dev.yml, 如果配置的是yaml, 那么文件名就叫userservice-dev.yaml server-addr: 10.211.55.11:8848 config: server-addr: 10.211.55.11:8848 file-extension
service-product cloud: nacos: config: server-addr: localhost:8848 # nacos的服务端地址 file-extension ${file-extension} prefix:默认为 spring.application.name 的值,也可以通过配置项 spring.cloud.nacos.config.prefix来配置 service-product cloud: nacos: config: server-addr: localhost:8848 # nacos的服务端地址 file-extension config-test cloud: nacos: config: server-addr: localhost:8848 # nacos的服务端地址 file-extension DEFAULT_GROUP group: shop_ex config: server-addr: localhost:8848 # nacos的服务端地址 file-extension