【Nacos】负载均衡

生产环境相对是比较恶劣的,我们需要对服务的流量进行更加精细的控制.Nacos支持多种负载均衡策略,包括权重,同机房,同地域,同环境等.

1. 服务下线

当某一个节点上接口的性能较差时,我们可以第一时间对该节点进行下线.

操作步骤: 服务详情 ->下线

当点击下线后,再次通过服务发现的服务来请求该接口,该服务就不会有请求进来。再次上线后又会继续受到请求。

这里只是在注册中心中下线了,直接通过后端的接口仍然是可以访问的。

2 权重配置

除了将服务下线之外,我们还可以配置该节点的流量权重。

2.1 配置权重

操作步骤: 找到对应节点 ->编辑 ->在弹出的窗口修改权重值,修改9091端口的权重

每个节点默认权重为1, 修改为0.1

2.2 开启Nacos负载均衡策略

由于Spring Cloud LoadBalance组件自身有负载均衡配置方式,所以不支持Nacos的权重属性配置

我们需要开启Nacos的负载均衡策略,让权重配置生效

参考:如何解决MSE Nacos上修改服务实例的权重不生效问题_微服务引擎(MSE)-阿里云帮助中心

 

2.3 测试权重配置

启动服务, 访问多次接⼝, 观察结果, 会发现9091端⼝号的实例接收的请求明显⽐另外两个实例少 .

3. 同集群优先访问

3.1 概述

Nacos把同一个机房内的实例,划分为一个集群,所以同集群优先访问,在一定程度上也可以理解为同机房优先访问.
微服务架构中,一个服务通常有多个实例共同提供服务,这些实例可以部署在不同的机器上,这些机器可以分布在不同的机房,比如product-service:
实例1:分布在上海机房
实例2:分布在上海机房
实例3:分布在北京机房
实例4:分布在北京机房

微服务访问时,应尽量访问同机房的实例,当本机房内实例不可用时,才访问其他机房的实例.

比如order-service 在上海机房,product-service 在北京和上海机房都有实例,那我们希望可以优先访问上海机房,如果上海机房没有实例,或者实例不可用,再访问北京机房的实例.通常情况下,因为同一个机房的机器属于一个局域网,局域网访问速度更快一点.

3.2 场景演示

# 将订单服务的地点配置为北京,修改nacos.discovery.cluster-name为BJ

 # 将商品服务(9090端口)的cluster-name配置为BJ,其余的配置为SH

# 开启nacos负载均衡策略

# 测试,观察结果

  1. 多次发送请求发现只有9090端口的商品服务能够提供服务,因为他和订单服务都在“北京”,在一个集群。
  2. 把9090端口的实例进行下线(SH集群),再次访问接口,观察日志,发现9091端口和9092端口的实例收到了请求

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小小小小关同学

你的支持就是我的动力

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

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

打赏作者

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

抵扣说明:

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

余额充值