SpringCloud Nacos 注册中心 -- Nacos快速入门Nacos服务分级存储模型(集群)集群负载均衡策略 NacosRule

Posted CodeJiao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SpringCloud Nacos 注册中心 -- Nacos快速入门Nacos服务分级存储模型(集群)集群负载均衡策略 NacosRule相关的知识,希望对你有一定的参考价值。

本示例代码依赖于上一节的代码

1. Nacos快速入门


1.1 服务注册到Nacos


1.1.1 在cloud-demo父工程中添加spring-cloud-alilbaba的管理依赖

<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-alibaba-dependencies</artifactId>
    <version>2.2.5.RELEASE</version>
    <type>pom</type>
    <scope>import</scope>
</dependency>

1.1.2 注释掉order-service和user-service中原有的eureka依赖,添加nacos的客户端依赖

<!-- nacos客户端依赖包 -->
<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>

1.2.3 修改user-service&order-service中的application.yml文件,注释eureka地址,添加nacos地址

spring:
  cloud:
    nacos:
      server-addr: localhost:8848 # nacos 服务端地址

1.2.4 启动并测试

请大家先按照这里讲的去启动Nacos客户端

我们发现user-service和order-service都成功的注册进来了。


点击详情还可以更加清楚的看见服务的信息,包含实例的信息。

小结:


2. Nacos服务分级存储模型(集群)

一级为服务,二级为集群,三级为实例。


2.1 服务跨集群调用问题


2.2 配置服务集群

我们先把所以的服务停掉

然后在拷贝一个UserApplication3:

我们现在要做的是把UserApplication和UserApplication2放在杭州(HZ)集群,把UserApplication3放在上海(SH)集群。

修改application.yml,添加如下内容:

spring:
  cloud:
    nacos:
      discovery:
        cluster-name: HZ # 集群名称 杭州

启动UserApplication和UserApplication2

然后把 集群的 HZ 改为 SH

然后启动UserApplication3

接下来去查看Nacos客户端:


2.3 小结


3. 集群负载均衡策略


3.1 修改order-service中的application.yml,设置集群为HZ



3.2 然后在order-service中设置负载均衡的IRule为NacosRule,这个规则优先会寻找与自己同集群的服务

Ribbon负载均衡默认采用轮询服务列表的方式去访问服务。

在order-service中设置负载均衡的IRule为NacosRule,这个规则优先会寻找与自己同集群的服务,然后在本地集群的服务里面采用随机访问的方式。

# 这个是微服务的id
user-service:
  ribbon:
    NFLoadBalancerRuleClassName: com.alibaba.cloud.nacos.ribbon.NacosRule # 负载均衡规则 这个规则优先会寻找与自己同集群的服务

假如本地集群里面没有相关的服务会怎么办?

假如本地集群里面没有相关的服务会跨集群去访问服务。


3.3 小结



以上是关于SpringCloud Nacos 注册中心 -- Nacos快速入门Nacos服务分级存储模型(集群)集群负载均衡策略 NacosRule的主要内容,如果未能解决你的问题,请参考以下文章

五SpringCloud实用篇_Nacos注册中心(上)

SpringCloud怎么使用Nacos做注册中心+配置中心?

6.SpringCloud -- 注册中心与配置中心 Nacos网关 Gateway

SpringCloud学习笔记-p2(Nacos注册中心&Nacos配置管理)

Springcloud 整合Alibaba的Nacos实现服务注册和配置中心

springcloud2-注册中心eureka及nacos