SpringCloud入门实战-Ribbon

SpringCloud入门实战-Ribbon使用 原创

  • 目录
    • 概述
      • 需求:
    • 设计思路
    • 实现思路分析
      • 1.Ribbon原理
      • 2.Ribbon负载均衡策略
  • 参考资料和推荐阅读

Survive by day and develop by night.
talk for import biz , show your perfect code,full busy,skip hardness,make a better result,wait for change,challenge Survive.
happy for hardess to solve denpendies.

目录

在这里插入图片描述

概述

需求:

设计思路

实现思路分析

1.Ribbon原理

Spring Cloud Ribbon是一个基于HTTP和TCP的客户端负载均衡工具,它基于Netflix Ribbon实现.
SpringCloud入门实战-Ribbon_第1张图片
服务列表:通过注册中心获取可用的服务列表
服务过滤:对原始服务列表使用一定策略进行过滤,并返回有效的服务器列表给客户端负载均衡器使用

服务心跳检测:用来检测一个微服务实例是否可用;如果检测到某服务实例不可用,则会从列表中及时移除
负载均衡策略:在多个服务实例中选择一个有效的服务实例,并进行相应的服务请求处理

2.Ribbon负载均衡策略

RandomRule 随机策略 随机选择server
RoundRobinRule 轮询策略 按照顺序选择server(ribbon默认策略)
按照顺序选择server(ribbon默认策略)重试策略 在一个配置时间段内,当选择server不成功,则一直尝试选择一个可用的server
ZoneAvoidanceRule 区域权重策略 综合判断server所在区域的性能,和server的可用性,轮询选择server并且判断一个AWS Zone的运行性能是否可用,剔除不可用的Zone中的所有server
ribbon.MaxAutoRetries=0 #对当前实例的重试次数,默认0
ribbon.MaxAutoRetriesNextServer=1 #切换实例的重试次数,默认1
ribbon.ReadTimeout=5000 #请求处理的超时时间,默认5秒

ribbon.ConnectTimeout=2000 #请求连接的超时时间,默认2秒

如果使用feign调用服务,里面默认包含了robbion,不需要特殊处理。

Robbion负载均衡器是spring Cloud默认的负载均衡器,但现在已处于维护的状态,不建议使用,Spring Cloud推荐使用BlockingLoadBalancerClient来作为负载均衡器;可以把spring.cloud.loadbalancer.ribbon.enabled设为false来停用Robbion。

参考资料和推荐阅读

[1].https://blog.51cto.com/wuyongyin/4858695?b=totalstatistic

欢迎阅读,各位老铁,如果对你有帮助,点个赞加个关注呗!~

你可能感兴趣的:(#,feign,spring,cloud,ribbon,java)