赞
踩
1.实现配置更改热更新,而不是改动了配置文件还要去重启服务才能生效。
2.对多个微服务的配置文件统一集中管理。而不是需要对每个微服务逐一去修改配置文件,特别是公共通用的配置。
配置管理服务中的配置发生改变后,回去立马通知各个微服务完成对最新配置的读取,并完成热更新。
配置文件的Data ID:服务名称-profile.后缀名
bootstrap.yml引导文件的优先级 > application.yml
优先级:application.properties > application.yml > application.yaml
引入nacos配置管理的pom坐标依赖:
- <dependency>
- <groupId>com.alibaba.cloud</groupId>
- <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
- </dependency>
bootstrap.yml文件的内容:
- spring:
- application:
- name: order-service # 服务名称
- profiles:
- active: dev # 开发环境
- cloud:
- nacos:
- server-addr: localhost:8848 # Nacos地址
- config:
- file-extension: yaml # 文件后缀名
正好对应了nacos管理控制台中配置文件的名称: order-service-dev.yaml
application.yml中与bootstrap.yml配置中重复的配置给注释掉。
- server:
- port: 8080
- spring:
- datasource:
- url: jdbc:mysql://localhost:3306/cloud_order?useSSL=false
- username: root
- password: 123456
- driver-class-name: com.mysql.jdbc.Driver
- # application:
- # name: order-service
- cloud:
- nacos:
- # server-addr: localhost:8848 #nacos服务端地址
- discovery:
- cluster-name: chengdu #配置集群名称也就是机房位置
- # namespace: 713c0b99-4de3-4774-b186-b9b3a94f60d0 #配置命名空间的id
- mybatis:
- type-aliases-package: com.xkj.org.pojo
- configuration:
- map-underscore-to-camel-case: true
-
- logging:
- level:
- com.xkj.org: debug
- pattern:
- dateformat: MM-dd HH:mm:ss:SSS
- #eureka:
- # client:
- # service-url:
- # defaultZone: http://localhost:10086/eureka/
-
-
-
- user-service:
- ribbon:
- # NFLoadBalancerRuleClassName: com.netflix.loadbalancer.RandomRule #负载均衡规则
- NFLoadBalancerRuleClassName: com.alibaba.cloud.nacos.ribbon.NacosRule #负载均衡规则
- ribbon:
- eager-load:
- enabled: true # 开启饥饿加载
-
- clients:
- - user-service #对user-service这个服务饥饿加载
- @Value("${pattern.dateformat}")
- private String dateformat;
-
- @GetMapping("now")
- public String now() {
- log.info("dateformat={}", dateformat);
- return LocalDateTime.now().format(DateTimeFormatter.ofPattern(dateformat, Locale.CHINA));
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。