一、服务分级存储
Nacos分为服务 集群 实例 三个层级,一般我们会将同一个机房的服务设置成同一个集群,并且在调用时优先调用同集群的服务
spring:
cloud:
nacos:
server-addr: localhost:8848
discovery:
cluster-name: HZ # 集群名称
userservice:
ribbon:
NFLoadBalancerRuleClassName: com.alibaba.cloud.nacos.ribbon.NacosRule # 负载均衡规则
二、Nacos统一配置
在一个微服务项目中,同一个服务往往有数十个实例,如果要修改配置文件是一件非常繁琐且易出错的事情,好在nacos提供给了我们统一配置的服务:将部分常修改的配置放入Nacos中,该服务的所有实例都用这一套的配置,并且支持热更新
(一) 配置
依赖
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
配置文件:bootstrap.yaml
spring:
application:
name: userservice # 服务名称
profiles:
active: dev #开发环境,这里是dev
cloud:
nacos:
server-addr: localhost:8848 # Nacos地址
config:
file-extension: yaml # 文件后缀名
(二)热更新
使用@ConfigurationProperties来读取统一配置的属性即可
示例
@Component
@Data
@ConfigurationProperties(prefix = "pattern")
public class PatternProperties {
private String dateformat;
}
(三) 多环境共用配置
对于开发、生产、测试环境都相同的配置,我们可以将其设置为共用配置,操作起来很简单,在nacos中创建一个只有服务名称没有环境名的配置就行