public class RibbonLoadBalancerClient extends Object implements LoadBalancerClient
Modifier and Type | Class and Description |
---|---|
protected static class |
RibbonLoadBalancerClient.RibbonServer |
Constructor and Description |
---|
RibbonLoadBalancerClient(RibbonClientPreprocessor ribbonClientPreprocessor,
SpringClientFactory clientFactory,
List<com.netflix.loadbalancer.BaseLoadBalancer> balancers) |
Modifier and Type | Method and Description |
---|---|
ServiceInstance |
choose(String serviceId)
Choose a
ServiceInstance from the LoadBalancer for the specified service |
<T> T |
execute(String serviceId,
LoadBalancerRequest<T> request)
Choose a
ServiceInstance from the LoadBalancer for the specified service |
protected com.netflix.loadbalancer.ILoadBalancer |
getLoadBalancer(String serviceId) |
protected com.netflix.loadbalancer.LoadBalancerContext |
getOrCreateLoadBalancerContext(String serviceId,
com.netflix.loadbalancer.ILoadBalancer loadBalancer) |
protected com.netflix.loadbalancer.Server |
getServer(String serviceId) |
protected com.netflix.loadbalancer.Server |
getServer(String serviceId,
com.netflix.loadbalancer.ILoadBalancer loadBalancer) |
URI |
reconstructURI(ServiceInstance instance,
URI original) |
public RibbonLoadBalancerClient(RibbonClientPreprocessor ribbonClientPreprocessor, SpringClientFactory clientFactory, List<com.netflix.loadbalancer.BaseLoadBalancer> balancers)
public URI reconstructURI(ServiceInstance instance, URI original)
reconstructURI
in interface LoadBalancerClient
public ServiceInstance choose(String serviceId)
LoadBalancerClient
ServiceInstance
from the LoadBalancer for the specified servicechoose
in interface LoadBalancerClient
serviceId
- the service id to look up the LoadBalancerpublic <T> T execute(String serviceId, LoadBalancerRequest<T> request)
LoadBalancerClient
ServiceInstance
from the LoadBalancer for the specified serviceexecute
in interface LoadBalancerClient
serviceId
- the service id to look up the LoadBalancerrequest
- allows implementations to execute pre and post actions such as incrementing metricsprotected com.netflix.loadbalancer.LoadBalancerContext getOrCreateLoadBalancerContext(String serviceId, com.netflix.loadbalancer.ILoadBalancer loadBalancer)
protected com.netflix.loadbalancer.Server getServer(String serviceId)
protected com.netflix.loadbalancer.Server getServer(String serviceId, com.netflix.loadbalancer.ILoadBalancer loadBalancer)
protected com.netflix.loadbalancer.ILoadBalancer getLoadBalancer(String serviceId)
Copyright © 2014 Pivotal Software, Inc.. All rights reserved.