介绍

:::tips 一个服务可以有多个实例,假如这些实例分布于全国各地的不同机房,Nacos就将同一机房内的实例划分为一个集群

一个服务可以包含多个集群(Zone),如杭州、上海,每个集群下可以有多个实例,形成分级模型
image.png

微服务互相访问时,应该尽可能访问同集群实例,因为本地访问速度更快,当本集群内不可用时,才访问其它集群 :::

配置文件

:::tips 在每个微服务模块中配置集群名称 :::

  1. server:
  2. #配置服务端口
  3. port: 端口号
  4. spring:
  5. application:
  6. #配置服务名称
  7. name: 服务名称
  8. cloud:
  9. nacos:
  10. #配置Nacos的地址,相当于同时配置了Nacos注册中心以及配置中心的地址
  11. server-addr: localhost:8848
  12. discovery:
  13. #配置集群名称
  14. cluster-name: 集群名称

同集群优先的负载均衡策略

:::tips 默认的ZoneAvoidanceRule不能实现根据同集群优先来实现负载均衡,因此Nacos中提供了一个NacosRule的实现,可以优先从同集群中挑选实例,再采用随机负载均衡挑选实例 :::

  1. 服务提供者的名称:
  2. ribbon:
  3. #配置负载均衡策略
  4. NFLoadBalancerRuleClassName: com.alibaba.cloud.nacos.ribbon.NacosRule