1.需要分区的微服务可以在该服务的配置文件做如下修改:
重点是 cluster-name: Chongqing
spring:
application:
name: borrowservice
cloud:
nacos:
discovery:
server-addr: localhost:8848
cluster-name: Chongqing
当然配置文件和实例对应的环境变量是互通的: 直接在启动配置中添加环境变量spring.cloud.nacos.discovery.cluster-name 也行 这样的话重启nacos就可以看到集群的分区了
2.在调度类提供Nacos的负载均衡的配置
spring:
application:
name: borrowservice
cloud:
nacos:
discovery:
server-addr: localhost:8848
cluster-name: Chengdu
loadbalancer:
nacos:
enabled: true
这样配置的话,重启借阅服务,会发现优先调用的是同区域的用户和图书服务。但是,我们也可以下线某个分区的服务,这样就会调用同个服务的其他分区集群:
3.同区域实例也可以单独设置权重
Nacos会优先选择权重更大的实例进行调用,我们可以直接在管理页面中进行配置: 或是在配置文件中进行配置:
spring:
application:
name: borrowservice
cloud:
nacos:
discovery:
server-addr: localhost:8848
cluster-name: Chengdu
weight: 0.5
或者命令行配置也可以。 通过配置权重,某些性能不太好的机器就能够更少地被使用,而更多的使用那些网络良好性能更高的主机上的实例。
|