ribbon实现负载均衡原理
2023-04-12 15:39:05 19 举报
Ribbon是一个客户端负载均衡器,它提供了多种负载均衡策略。Ribbon的工作原理是在调用服务时,根据负载均衡策略选择一个服务实例,然后将请求转发到该实例。Ribbon支持多种负载均衡算法,如轮询、随机、加权轮询等。此外,Ribbon还支持重试机制和熔断机制,以确保服务的高可用性。总之,Ribbon通过灵活的负载均衡策略和强大的容错机制,帮助用户实现了对微服务架构中服务实例的有效管理和调度。
作者其他创作
大纲/内容
executeInternal
intercept
InterceptingRequestExecution#execute
getForEntity
容器启动
execute执行http请求
InterceptingClientHttpRequest
注入负载均衡器默认ZoneAwareLoadBalancer
excute
RetryRule(重试)
updateListOfServers
getUpdatedListOfServers
RibbonLoadBalancerClient
首次发送ribbon请求
此处循环调用拦截器的拦截方法
RoundRobinRule(轮询,默认实现)
updateAction.doUpdate
构造方法
RibbonClientConfiguration
通过spi注入restTemplate并设置拦截器LoadBalancerInterceptor
开始发送请求
restOfInit剩余的初始化逻辑
execute
doExcute
@LoadBalancedRestTemplate restTemplate
此处仅列举三个负载均衡策略
ribbon实现负载均衡原理
chooseServer
RandomRule(随机)
定时线程调用
LoadBalancerAutoConfiguration
RestTemplate
AbstractBufferingClientHttpRequest
DynamicServerListLoadBalancer
LoadBalancerInterceptor
getServer
IRule
初始化
ClientHttpRequestInterceptor
enableAndInitLearnNewServersFeature
AbstractClientHttpRequest
NacosServerList
ZoneAwareLoadBalancer(默认实现)
父类构造方法
serverListUpdater
立即调用
结束
此处从注册中心拉取服务列表
收藏
0 条评论
下一页