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 重试机制的选择逻辑。
修改负载均衡的方式第一种:
这种配置是全局的,也就是说调用任意其他微服务都会采用这个策略。修改负载均衡的第二种方式是通过配置文件修改,
这种方式可以指定对哪一个微服务进行调用时候的策略。
ribbon默认采用的是懒加载,也就是只有在第一次去访问的时候才会去创建ribbon的一些配置信息,可以从控制台看到日志输出。
所以第一次访问接口的时间比较长,如果需要降低第一次访问时间的用时,可以在配置文件当中开启饥饿加载模式。
配置成功之后,ribbon会在启动服务的时候,把相关的配置信息加载成功。同样也能在控制台看到对应的日志输出。
非特殊说明,本文版权归 langhai 所有,转载请注明出处。
本文标题: ribbon负载均衡
延伸阅读
- 浪海博客系统友情链接说明
- 浪海同志的一生
- 浪海皇室 QQ飞车手游
- 浪海博客系统部署说明
- minio 相关说明
- rabbitMQ 相关说明
- mysql相关说明
- java基础面试题002
- gateway服务网关基本使用
- 浪海导航关于本站
如果出现代码等内容显示不正常,使用以前的显示器:以前的显示器
- 评论时间:2023-05-22 14:15:59 用户昵称:浪海
- 评论内容:ribbon是一个很好用的组件。
- 评论时间:2023-06-05 01:00:23 用户昵称:薛之谦
- 评论内容:AWdawd
- 评论时间:2023-06-05 01:00:24 用户昵称:薛之谦
- 评论内容:AWdawd