Nacos
Nacos是SpringCloudAlibaba的组件,而SpringCloudAlibaba也遵循SpringCloud中定义的服务注册、服务发现规范。因此使用Nacos和使用Eureka对于微服务来说,并没有太大区别。
主要差异在于:
- 依赖不同
- 服务地址不同
配置方式
在父工程引入依赖 <artifactId>spring-cloud-alibaba dependencies</artifactId>
子工程插入 <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
在子工程的配置文件指定nacos地址
spring: cloud: nacos: server-addr: localhost:8848
Nacos就将同一机房内的实例 划分为一个集群。
也就是说,user-service是服务,一个服务可以包含多个集群,如杭州、上海,每个集群下可以有多个实例,形成分级模型
通过编写配置文件来指定集群
discovery: clusterName: HZ
修改负载均衡原则
点击查看代码
userservice:
ribbon:
NFLoadBalancerRuleClassName: com.alibaba.cloud.nacos.ribbon.NacosRule # 负载均衡规则
Nacos配置管理
统一配置管理
配置更改热更新
首先在nacos网页端编写配置文件,注意文件名的设置(服务名-环境名.文件扩展名 userservice-dev.yaml)
然后引入依赖
spring-cloud-starter-alibaba-nacos-config
编写配置文件bootstrap.yml(先于application.yml文件加载)
指定 其服务名,环境名,文件扩展名
点击查看代码
spring:
application:
name: userservice
profiles:
active: dev
cloud:
nacos:
server-addr: localhost:8848
config:
fileExtension: yaml
多环境配置共享
微服务启动会读取多个配置文件
顺序如下服务名-环境名.文件扩展名
服务名.文件扩展名
所以其服务名.文件扩展名 文件必定被读取
该文件用来实现多环境共享
配置文件优先级
服务名-环境名.文件扩展名 >服务名.文件扩展名 >本地文件

浙公网安备 33010602011771号