负载均衡规则配置

默认情况下Ribbon的负载均衡策略是轮询,Ribbon常用的负载均衡

规则分类

5、最低并发策略(BestAvailableRule)

逐个查看server,选择一个并发连接最低的server

4、区域权重策略(ZoneAwareRule)

综合判断server所在区域的性能和server的可用性选择server

6、重试策略(RetryRule)

对选定的负载均衡策略机上重试机制

7、可用过滤策略(AvailabilityFilteringRule)

过滤掉一直失败并被标记为circuit tripped的server

8、ResponseTimeWeightedRule

已废弃,作用同WeightedResponseTimeRule

3、加权响应时间策略 (WeightedResponseTimeRule)

根据响应时间分配一个weight,响应时间越长,weight越小,被选中的可能性越低。

1、简单轮询策略(RoundRobinRule)

以轮询的方式依次将请求调度不同的服务器

2、随机策略 (RandomRule)

随机选择状态为UP的Server

规则配置

yml文件配置指定服务的负载均衡策略

  • # com.netflix.loadbalancer.RandomRule #配置规则 随机

  • # com.netflix.loadbalancer.RoundRobinRule #配置规则 轮询

  • # com.netflix.loadbalancer.RetryRule #配置规则 重试

  • # com.netflix.loadbalancer.WeightedResponseTimeRule #配置规则 响应时间权重

  • #com.netflix.loadbalancer.BestAvailableRule #配置规则 最空闲连接策略

重试机制

当我们选择轮询负载均衡策略的时候,如果一个服务停掉,因为服务剔除的延迟,消费者并不会立即得到最新的服务列表,此时再次访问你会得到错误提示:

Spring Cloud 整合了Spring Retry 来增强RestTemplate的重试能力,当一次服务调用失败后,不会立即抛出一次,而是再次重试另一个服务。

注意:使用重试,要设置负载均衡策略为轮询com.netflix.loadbalancer.RoundRobinRule

注意:重试过于频繁后台也会出现异常,但是页面不会再次出现错误。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

xinyi_java

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

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

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

打赏作者

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

抵扣说明:

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

余额充值