当前位置: 首页 > news >正文

04-Nacos中负载均衡规则的配置

负载均衡规则

同集群优先

默认的ZoneAvoidanceRule实现并不能根据同集群优先的规则来实现负载均衡,Nacos中提供了一个实现叫NacosRule可以优先从同集群中挑选服务实例

  • 当服务消费者在本地集群找不到服务提供者时也会去其他集群中寻找,但此时会在服务消费者的控制台报警告

第一步: 在order-service模块的application.yml文件中添加集群配置属性spring.cloud.nacos.discovery.cluster-name

spring:
  cloud:
    nacos:
      server-addr: localhost:8848
      discovery:
        cluster-name: HZ # 集群名称(杭州)

第二步: 在order-service模块的application.yml文件中给userservice服务添加同集群优先的负载均衡规则

# 该属性和spring属性同级
userservice: # 给userservice服务配置负载均衡规则
  ribbon:
    NFLoadBalancerRuleClassName: com.alibaba.cloud.nacos.ribbon.NacosRule # 负载均衡规则

第三步: 访问http://localhost:8080/order/101(查询订单)-->http://localhost:8081/user/订单中的用户ID(查询用户), 观察服务实例的日志输出

  • 启动userservice服务的三个实例: 集群名称为HZ的两个userservice服务实例看到日志输出,而集群名称为SHuserservice服务实例看不到日志输出
  • 停掉集群名称为HZ的两个userservice服务实例: 集群名称为SHuserservice服务实例也会输出日志,但orderservice的控制台提示跨集群访问警告

权重占比

实际部署时不同的服务器设备性能有差异(有的性能好,有的性能较差),此时我们更希望性能好的机器承担更多的用户请求

默认情况下NacosRule实现类负载均衡的规则是同集群内随机挑选(不看机器的性能),所以Nacos另外提供了权重配置来控制访问频率(权重越大则访问频率越高)

在Nacos控制台找到userservice服务的实例,点击编辑即可以修改权重,权重一般是在0-1之间,权重为0表示该实例永远不会被访问

  • 灰度测试: 对服务进行版本升级时,可以给刚更新后的该服务设置一个很小的权重,这样就会有一小部分用户来访问该服务,测试该服务是否稳定

在这里插入图片描述

相关文章:

  • C# 数据的保存和提取(.TXT格式)
  • 外包干了3个月,技术退步明显。。。
  • SSL证书HTTPS保护服务
  • YOLOv8使用自定义改进后的模型同时《加载官方预训练权重》教程,附代码
  • C_1练习题答案
  • 算法通关第十九关-青铜挑战理解动态规划
  • Maven项目引入本地jar
  • 使用drawio绘制依赖关系图
  • 智能优化算法应用:基于和声算法3D无线传感器网络(WSN)覆盖优化 - 附代码
  • vue整个页面可以拖拽导入文件
  • 在windows系统搭建LVGL模拟器(codeblock工程)
  • [论文笔记] 大模型主流Benchmark测试集介绍
  • 【第二章】docker +Jenkins+git+allure+python3安装
  • 『K8S 入门』二:深入 Pod
  • 云原生之深入解析如何在Kubernetes中快速启用Cgroup V2支持
  • Docker与K8s的区别
  • 数据可视化设计:让数据故事更有说服力
  • Excel实现字母+数字拖拉自动递增,步长可更改
  • [算法基础 ~排序] Golang 实现
  • 实战指南:使用 Nginx 反向代理实现多端口跳转
  • 乌外长:乌方准备无条件停火至少30天
  • 成就彼此,照亮世界:“中欧建交50周年论坛”在沪成功举行
  • “科创板八条”后百单产业并购发布,披露交易金额超247亿
  • 夜读丨喜马拉雅山的背夫
  • 中俄弘扬正确二战史观:缅怀历史,重拾初心,阻止悲剧重演
  • 美联储主席:关税“远超预期”,美联储实现目标的进程或被推迟至明年