SpringCloud负载均衡介绍(网关、应用)

文章目录

      • 一、gateway网关负载
        • 默认负载
        • 支持几种,怎么切换
        • 自定义负载
        • 支持继承ribbon进行负载
      • 二、ribbon负载(应用层)
          • 默认负载:
          • 负载方式:
          • 自定义负载

一、gateway网关负载

支持lb模式,LoadBalancerClientFilter。默认采用功能均衡负载-RibbonLoadBalancerClient

默认负载

支持几种,怎么切换

自定义负载

支持继承ribbon进行负载

二、ribbon负载(应用层)

可以与feign集成

参考文献

默认负载:
  • 轮询策略
负载方式:
策略名称 策略对应的类名 实现原理
轮询策略(默认) RoundRobinRule 轮询策略表示每次都顺序取下一个 provider,比如一共有 5 个provider,第 1 次取第 1 个,第 2次取第 2 个,第 3 次取第 3 个,(以此类推,达到一定次数则会失败)
权重轮询策略 WeightedResponseTimeRule 1.根据每个 provider 的响应时间分配一个权重,响应时间越长,权重越小,被选中的可能性越低。2.原理:一开始为轮询策略,并开启一个计时器,每 30 秒收集一次每个 provider 的平均响应时间,当信息足够时,给每个 provider附上一个权重,并按权重随机选择provider,高权越重的 provider会被高概率选中。
随机策略 RandomRule 从 provider 列表中随机选择一个provider
最少并发数策略 BestAvailableRule 选择正在请求中的并发数最小的 provider,除非这个provider 在熔断中。
在“选定的负载均衡策略”基础上进行重试机制 RetryRule 1.“选定的负载均衡策略”这个策略是轮询策略RoundRobinRule2.该重试策略先设定一个阈值时间段,如果在这个阈值时间段内当选择 provider 不成功,则一直尝试采用“选定的负载均衡策略:轮询策略”最后选择一个可用的provider
可用性敏感策略 AvailabilityFilteringRule 过滤性能差的 provider,有 2种:第一种:过滤掉在 eureka 中处于一直连接失败 provider 第二种:过滤掉高并发的 provider
区域敏感性策略 ZoneAvoidanceRule 1.以一个区域为单位考察可用性,对于不可用的区域整个丢弃,从剩下区域中选可用的provider2.如果这个 ip 区域内有一个或多个实例不可达或响应变慢,都会降低该 ip 区域内其他 ip 被选中的权重。
自定义负载

你可能感兴趣的:(Spring,Cloud框架,负载,网关负载,应用负载)