20 04 2023

ribbon负载均衡

负载均衡策略的规则都定义在 com.netflix.loadbalancer.IRule 这个接口当中,当然在ribbon当中负载均衡有许多种策略。这里也是面试经常问的点。


com.netflix.loadbalancer.RoundRobinRule 简单轮询服务列表来选择服务器。它是Ribbon默认的负载均衡规则。


com.netflix.loadbalancer.ZoneAvoidanceRule 以区域可用的服务器为基础进行服务器的选择。使用Zone对服务器进行分类,这个Zone可以理解为一个机房、一个机架等。而后在对Zone内的多个服务做轮询。


com.netflix.loadbalancer.AvailabilityFilteringRule 这个策略从名字上就可以大概知道意思,可用性过滤。第一种情况,在默认情况下,这台服务器如果3次连接失败,这台服务器就会被设置为 “短路”状态。短路状态将持续30秒,如果再次连接失败,短路的持续时间就会几何级的增加。第二种情况,并发数过高的服务器。如果一个服务器的并发连接数过高,也会将其忽略。当然并发连接数的上限也是可以配置的。


com.netflix.loadbalancer.WeightedResponseTimeRule 这个策略就是可以为服务器配置权重值,当然服务器的选择与权重值是相关联的。


com.netflix.loadbalancer.BestAvailableRule 忽略那些短路的服务器,并选择并发数较低的服务器。


com.netflix.loadbalancer.RandomRule 随机选择一个可用的服务器。


com.netflix.loadbalancer.RetryRule 重试机制的选择逻辑。

修改负载均衡的方式第一种:

image.png

这种配置是全局的,也就是说调用任意其他微服务都会采用这个策略。修改负载均衡的第二种方式是通过配置文件修改,

image.png

这种方式可以指定对哪一个微服务进行调用时候的策略。

ribbon默认采用的是懒加载,也就是只有在第一次去访问的时候才会去创建ribbon的一些配置信息,可以从控制台看到日志输出。

image.png

所以第一次访问接口的时间比较长,如果需要降低第一次访问时间的用时,可以在配置文件当中开启饥饿加载模式。

image.png

配置成功之后,ribbon会在启动服务的时候,把相关的配置信息加载成功。同样也能在控制台看到对应的日志输出。
















































延伸阅读
  1. 浪海博客系统友情链接说明
  2. 浪海同志的一生
  3. 浪海皇室 QQ飞车手游
  4. 浪海博客系统部署说明
  5. minio 相关说明
  6. rabbitMQ 相关说明
  7. mysql相关说明
  8. java基础面试题002
  9. gateway服务网关基本使用
  10. 浪海导航关于本站
如果出现代码等内容显示不正常,使用以前的显示器:以前的显示器
发表评论
  • 评论时间:2023-05-22 14:15:59 用户昵称:浪海
  • 评论内容:ribbon是一个很好用的组件。
  • 评论时间:2023-06-05 01:00:23 用户昵称:薛之谦
  • 评论内容:AWdawd
  • 评论时间:2023-06-05 01:00:24 用户昵称:薛之谦
  • 评论内容:AWdawd