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 启动并测试
我们发现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做注册中心+配置中心?
6.SpringCloud -- 注册中心与配置中心 Nacos网关 Gateway
SpringCloud学习笔记-p2(Nacos注册中心&Nacos配置管理)