随笔 - 1357  文章 - 0  评论 - 1104  阅读 - 1941万

Nacos-NacosRule负载均衡和服务实例的权重配置

一、Nacos-NacosRule负载均衡
1、NacosRule负载均衡策略
a.优先选择同集群服务实例列表
b.本地集群找不到提供者,才去其它集群寻找,并且会报警告
c.确定了可用实例列表后,再采用随机负载均衡挑选实例


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

复制代码
spring:
  application:
    name: orderservice
  cloud:
    nacos:
      server-addr: tajia-nacos:8848 # nacos服务地址
      discovery:
        cluster-name: HZ #order-service服务在杭州集群,调用user-service服务优先选择杭州集群服务实例列表
复制代码

 

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

userservice:
  ribbon:
    NFLoadBalancerRuleClassName: com.alibaba.cloud.nacos.ribbon.NacosRule  # 负载均衡规则

 

二、Nacos-服务实例的权重配置
实际部署中会出现这样的场景:
服务器设备性能有差异,部分实例所在机器性能较好,另一些较差,我们希望性能好的机器承担更多的用户请求.

Nacos提供了权重配置来控制访问频率,权重越大则访问频率越高,实例的权重控制
a.Nacos控制台可以设置实例的权重值,0~1之间
b.同集群内的多个实例,权重越高被访问的频率越高

c.权重设置为0则完全不会被访问
eg:如把userservice:8081服务权重调整为0,此时userservice:8081服务不承担用户请求,这时做停机操作对用户是无感知操作,我们可以做版本升级,升级结束后权重调小点(如:0.01),对小部分用户开放等没问题再把权重调大。这样操作对用户是无感知的,平滑升级非常优雅。

设置权重负载均衡:
在Nacos控制台可以设置实例的权重值,首先选中实例后面的编辑按钮

 

将权重设置为0.1,测试可以发现8081被访问到的频率大大降低

 

posted on   Ruthless  阅读(4333)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
历史上的今天:
2017-09-30 java redis 分页查询数据
2015-09-30 选股买入法
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示