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

负载均衡规则

同集群优先

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

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

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

spring:cloud:nacos:server-addr: localhost:8848discovery: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表示该实例永远不会被访问

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

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/229143.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

STM32_串口下载程序

目录标题 前言1、理论知识2、串口下载具体操作2.1、硬件准备2.2、软件准备2.3、设置单片机的启动模式为系统存储器启动2.4、软件配置2.5、下载程序 附:生成hex文件 前言 使用调试器下载程序又快有稳定还能使用调试功能,当然是下载调试的首选。但是拓展下串口下载程…

BAQ压缩原理

什么是BAQ? BAQ——Block Adaptive Quantization,块自适应量化 BAQ是一种数据压缩算法。 谁提出了BAQ压缩? BAQ压缩原理是由美国NASA JPL的R. Kwok和W.T.K. Johnson在1989年提出的。第一次被用于美国NASA的“麦哲伦金星探测”任务中。 BAQ压缩的目的是什么? 上世纪后半…

网络爬虫第1天之数据解析库的使用

一、正则表达式 正则表达式(Regular Expression 简称regex或regexp)是一种强大的文本处理工具,它可以帮助实现快速的检索、替换或验证字符串中的特定模式。 1、match match()方法会尝试从字符串开始的位置到字符结束的位置匹配正则表达式&am…

gitee gihub上传步骤

上传 1. 到具体要上传的文件目录 2. 右击git Bash Here 初始化仓库:git init 3. 添加文件 添加所有文件 : git add . (注意这里有个点)添加具体文件: git add test.md 4. 添加到暂存区 git commit -m 暂存区 5. 将本地代…

如何将数据库导入MySQL的办法

在电脑cmd终端进行导入 首先找到MySQL中bin的位置 第一步:找到MySQL 第二步:进入MySQL 第三步:打开bin 第四步:输入cmd进入终端 第五步: 输入mysql -uroot -p 然后会弹出enter password: 输入你的密码…

Day10 Liunx高级系统设计11-数据库2

DQL:数据查询语言 查询全表 select * from 表名; 查询指定列 select 列名 1, 列名 2,… from 表名 ; 条件查询 select * from 表名 where 条件 ; 注意: 条件查询就是在查询时给出 WHERE 子句,在 WHERE 子句中可以使用如下运算符及关键 字&#…

linux笔记--VSCode利用交换机跳转服务器

目录 1--前言 2--VSCode设置 3--ssh连接 1--前言 博主学校的服务器有两个,其中一个服务器(14)可以通过挂内网VPN来进行连接,但另一个服务器(15)即使挂了VPN也不能连接,只能通过内网进行连接。…

ripro后台登录后转圈和图标不显示的原因及解决方法

最近,好多小伙伴使用ripro主题的小伙伴们都发现,登录后台后,进入主题设置就转圈,等待老半天后好不容易显示页面了,却发现图标不显示了,都统一显示为方框。 这是因为后台的js、css这类静态资源托管用的是js…

力扣刷题-二叉树-找树左下角的值

513 找树左下角的值 给定一个二叉树的 根节点 root,请找出该二叉树的 最底层 最左边 节点的值。 假设二叉树中至少有一个节点。 示例 1: 示例 2: 思路 层序遍历 直接层序遍历,因为题目说了是最底层,最左边的值&a…

紫光FPGA DDR3 IP使用和注意事项(axi4协议)

紫光DDR3 IP使用 对于紫光ddr3 IP核的使用需要注意事情。 阅读ddr ip手册: 1、注意:对于写地址通道,axi_awvalid要一直拉高,axi_awready才会拉高。使用的芯片型号时PG2L100H-6FBG676,不同的型号IP核接口和axi的握手协…

IDEA2020关于Cannot resolve symbol ‘servlet‘报错

刚开始也配置了tomcat,但是依然报错,后来查找资料解决了 在项目下面创建一个libs文件夹,然后将tomcat / lib文件夹中的servlet-api.jar复制了过来,然后再添加到library。 具体操作步骤:

Code automatic processing

自动化处理没啥用的代码,测试下,还不错的感觉

Elasticsearch的使用总结

Elasticsearch 是一个分布式、高扩展、高实时的搜索与数据分析引擎。它能很方便的使大量数据具有搜索、分析和探索的能力。 put/post请求:http://localhost:9200/索引库名称 {"settings":{"index":{"number_of_shards":1, # 分片数量…

风速预测(三)EMD-LSTM-Attention模型

目录 1 风速数据EMD分解与可视化 1.1 导入数据 1.2 EMD分解 2 数据集制作与预处理 2.1 先划分数据集,按照8:2划分训练集和测试集 2.2 设置滑动窗口大小为7,制作数据集 3 基于Pytorch的EMD-LSTM-Attention模型预测 3.1 数据加载&#…

uniapp怎么获取微信步数

微信步数获取的背景 微信步数是指用户在微信运动中记录的步数数据。微信提供了开放能力,允许第三方应用获取用户授权后的微信步数数据,以便进行进一步的数据分析和展示。使用时报错:fail api scope is not declared in the privacy agreemen…

libevent服务GET/POST的简单使用

目录 1、前言2、测试demo2.1、目录结构2.2、 测试源码2.2.1、http_server.cpp2.2.2、 http_server.h 2.3、 编译2.4、 运行结果2.4.1、测试POST2.4.2 、测试GET请求 1、前言 项目开发中经常需要使用到私有协议和Qt,Android等GUI前端通信,比较常用的使用POST和GET方式…

计算机操作系统-第十八天

目录 进程调度时机 补充知识 进程调度的方式 非剥夺调度方式 剥夺调度方式 进程的切换与过程 本节思维导图 进程调度时机 进程调度(低级调度),即按照某种算法从就绪队列中选择一个进程为其分配处理机。 共有两种需要进行进程调度与…

基于junit4搭建自定义的接口自动化测试框架

随着业务的逐步稳定,对于接口的改动也会逐渐变少。更多的是对业务逻辑的优化,功能实现的完善。对于测试来说,重复繁琐的功能测试不仅效率低下,而且耗费一定的人力资源。笔者支持的信息流业务下的一个图文管理平台就是一个功能较为…

Lambda表达式的简单理解

1. 初识lambda表达式 Lambda表达式是Java SE 8中一个重要的新特性。lambda表达式允许你通过表达式来代替功能接口。 lambda表达式就和方法一样,它提供了一个正常的参数列表和一个使用这些参数的主体(body,可以是一个表达式或一个代码块)。 Lambda 表达式(Lambda exp…

广州华锐互动:VR煤矿特殊工种作业实训帮助提高矿工的操作技能和安全意识

VR煤矿特殊工种作业实训系统为煤矿企业培训提供了全方位的支持,帮助提高矿工的操作技能和安全意识,促进煤矿企业的安全生产。 首先,VR煤矿特殊工种作业实训系统可以提供逼真的虚拟操作环境,使矿工能够身临其境地感受各种工种的作业…