这个名字听起来很高级,但是你真的学会了感觉很简单!
Nacos将服务分为了三级
- 一级是服务
- 二级是集群
- 三级是实例
下图看起来更直观一些:
也就是说,一个服务可以包含多个集群 ,一个集群可以有多个实例。Nacos就将同一机房内的实例 划分为一个集群。
微服务互相访问时,应该尽可能访问同集群实例,因为本地访问速度更快,跨集群调用延迟较高。当本集群内不可用时,才访问其它集群。
实例:给user-service服务配置集群
背景:user-service有三个实例,都没有配置集群,端口号分别是8081、8082、8083
1.没配置时集群为默认
2.修改配置
修改user-service的application.yml文件,添加集群配置:
将集群名称设置为HZ(杭州)
spring:
cloud:
nacos:
server-addr: localhost:8848
discovery:
cluster-name: HZ # 集群名称
3.重启两个实例
重启8081和8082端口对应的实例,这样的话这两个实例就属于HZ集群了
4.修改配置
修改user-service的application.yml文件,添加集群配置:
将集群名称设置为SH(上海)
spring:
cloud:
nacos:
server-addr: localhost:8848
discovery:
cluster-name: SH # 集群名称
5.重启一个实例
重启8083端口对应的实例,这样的话这个实例就属于SH集群了
6.到Nacos查看
成功了!
@总结
如何设置实例的集群属性?
修改application.yml文件,添加spring.cloud.nacos.discovery.cluster-name属性即可