ribbon负载均衡 ~ langhai

林书豪
2023-04-20 19:56:27
ribbon负载均衡 浪海值:1404度
文章标签:微服务相关
文章摘要:ribbon负载均衡
使用新的显示器:新的显示器 如果遇到图片单击即可放大/缩小。

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会在启动服务的时候,把相关的配置信息加载成功。同样也能在控制台看到对应的日志输出。
















































提交评论
  • 评论时间:2023-05-22 14:15:59 用户昵称:浪海
  • 评论内容:ribbon是一个很好用的组件。
  • 评论时间:2023-06-05 01:00:23 用户昵称:薛之谦
  • 评论内容:AWdawd
  • 评论时间:2023-06-05 01:00:24 用户昵称:薛之谦
  • 评论内容:AWdawd