美文网首页
springclound中ribbon和feign

springclound中ribbon和feign

作者: shark没有辣椒 | 来源:发表于2021-01-20 17:45 被阅读0次

负载均衡:

负载均衡(Load Balance),意思是将负载(工作任务,访问请求)进行平衡、分摊到多个操作单元(服务器,组件)上进行执行。是解决高性能,单点故障(高可用),扩展性(水平伸缩)的终极解决方案。

常用的负载均衡算法有: 轮循、随机、加权轮循、加权随机、地址哈希等方法。

springcloud实现负载均衡的两种方式是:

1.ribbon(restTemplate+自定义负载均衡算法)

ribbon是基于netflix ribbon实现的一套客户端负载均衡的工具,消费者可以自动从Eureka中拿到对应的服务列表,默认进行轮询策略(RoundRobinRule),也可在配置类中声明想要的均衡策略。

ribbon七种轮询策略

RoundRobinRule 轮询(默认策略)

RandomRule 随机

AvailabilityFilteringRule 过滤多次访问故障及并发数量超过阈值的服务,对剩余服务进行轮询

WeightedResponseTimeRule 根据响应时间分配权重,响应时间越短权重越大,如果刚启动时统计信息不足会暂时使用轮询策略

RetryRule 使用轮询策略,如果失败,会进行重试

BestAvailableRule 过滤掉多次访问故障的服务,然后选择并发量最小的服务

ZoneAvoidanceRule 根据性能和可用性选择服务

2.feign

feign是一个声明式的web service客户端,使用声明式的接口+注解,spring cloud为feign添加了spring mvc的注解支持,并整合了ribbon和eureka来为使用Feign时提供负载均衡。

相关文章

网友评论

      本文标题:springclound中ribbon和feign

      本文链接:https://www.haomeiwen.com/subject/kwcdzktx.html