Nacos多级服务存储模型, NacosRule负载均衡规则入门

👳我亲爱的各位大佬们好😘😘😘
♨️本篇文章记录的为 NacosRule负载均衡规则 相关内容,适合在学Java的小白,帮助新手快速上手,也适合复习中,面试中的大佬🙉🙉🙉。
♨️如果文章有什么需要改进的地方还请大佬不吝赐教❤️🧡💛
👨‍🔧 个人主页 : 阿千弟

比如说在分布式的多模块环境开发中,我们有一个服务叫做user-service, 它有多个实例, 这些实例都部署在一个机房里面, 有一天机房突然停电了,那么这个机房的所有实例都会挂掉😧😧😧, 该怎样解决这个问题呢?

服务多级存储模型

Nacos给我们提供了一个这样的服务分级存储模型:

我们可以将一个服务的多个实例部署在多个机房里面:

在这里插入图片描述

比方说公司在上海有个机房容纳端口为8081和8082的user-service的实例, 在杭州有个机房容纳端口为8083和8084的user-service的实例, 如果上海的机房停电了, 我们杭州这边的机房还能支撑我们服务的运行, 这就是我们Nacos提供的容灾技术

所以在Nacos的服务分级里面 : 1级是服务, 2级是集群, 3级是实例

为什么Nacos引入这样一个服务分级的模型呢?原来直接通过服务来找实例不好吗?

我们可以这样设想
在这里插入图片描述
原来我们都是在本地机房通过局域网的方式本地实例去访问本地实例, 然后如果我们的本地实例挂了才去访问其他机房的实例,这个过程的调用延迟是比较高的. 下面我们来配置实例的集群属性.

配置服务的集群属性配置

pom中添加如下依赖

cloud:
    nacos:
      server-addr: localhost:8848
      discovery:
        cluster-name: aliyun #集群名称

然后我们再配置 cluster-name: baiduyun,

然后启动, 可以发现确实是有了两个实例和两个集群

在这里插入图片描述
一个集群名称是aliyun另一个是baiduyun, 完美

在这里插入图片描述

Nacos-NacosRule负载均衡规则

既然我们想要了解Nacos的负载均衡规则,我们就要先进行配置

在pom文件中配置:

xxxservice: # 要做配置的服务名称
    ribbon:
      NFLoadBalancerRuleClassName: com.alibaba.cloud.nacos.ribbon.NacosRule

那么在Nacos集群里面负载均衡规则是咋样的?

NacosRule优先选择本地集群, 然后在本地集群内的多个服务当中它再采用随机方式进行负载均衡, 这就是NacosRule的访问特点了

Nacos根据权重进行负载均衡

有时候我们在服务器上进行服务部署的时候, 可能由于设备问题 : 有的服务器比较新,性能好;有点比较老旧不能那么好用,这时候我们就希望让新的服务器承担更多的请求.

  • Nacos提供了权重配置来控制访问频率, 权重越大访问频率越高

  • Nacos同一集群的默认权重是1:1的

  • Nacos控制台可以设置实例的权重值, 0~1之间

这时候我们把8082端口的权重改为0.1, 8082端口的权重仍为1
在这里插入图片描述
理论上将我们把服务请求11次, 大概率上有10次服务请求到了8081的端口上, 只有1次服务请求到了8082的端口上

注意, 如果我们把权重设置为0, 则完全不会被访问到
在这里插入图片描述

服务上线不停机更新

其实这个特性是非常强的, 作为一个服务器不要以为权重是0就觉得它是废物, 想想看,如果我们现在对一个服务进行升级, 先将8082的权重调成0, 然后对它进行配置, 完成后可以将权重稍微调大一点, 一遍放过来一小部分请求方便测试, 如果没毛病, 我们再将权重调大, 这个不停机更新的方法很优雅

在这里插入图片描述

如果这篇【文章】有帮助到你💖,希望可以给我点个赞👍,创作不易,如果有对Java后端或者对spring感兴趣的朋友,请多多关注💖💖💖
👨‍🔧 个人主页 : 阿千弟

  • 11
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 14
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿千弟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值