Interface LoadBalancerClient
-
- All Superinterfaces:
ServiceInstanceChooser
public interface LoadBalancerClient extends ServiceInstanceChooser
Represents a client-side load balancer.- Author:
- Spencer Gibb
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description <T> T
execute(String serviceId, LoadBalancerRequest<T> request)
Executes request using a ServiceInstance from the LoadBalancer for the specified service.<T> T
execute(String serviceId, ServiceInstance serviceInstance, LoadBalancerRequest<T> request)
Executes request using a ServiceInstance from the LoadBalancer for the specified service.URI
reconstructURI(ServiceInstance instance, URI original)
Creates a proper URI with a real host and port for systems to utilize.-
Methods inherited from interface org.springframework.cloud.client.loadbalancer.ServiceInstanceChooser
choose, choose
-
-
-
-
Method Detail
-
execute
<T> T execute(String serviceId, LoadBalancerRequest<T> request) throws IOException
Executes request using a ServiceInstance from the LoadBalancer for the specified service.- Type Parameters:
T
- type of the response- Parameters:
serviceId
- The service ID to look up the LoadBalancer.request
- Allows implementations to execute pre and post actions, such as incrementing metrics.- Returns:
- The result of the LoadBalancerRequest callback on the selected ServiceInstance.
- Throws:
IOException
- in case of IO issues.
-
execute
<T> T execute(String serviceId, ServiceInstance serviceInstance, LoadBalancerRequest<T> request) throws IOException
Executes request using a ServiceInstance from the LoadBalancer for the specified service.- Type Parameters:
T
- type of the response- Parameters:
serviceId
- The service ID to look up the LoadBalancer.serviceInstance
- The service to execute the request to.request
- Allows implementations to execute pre and post actions, such as incrementing metrics.- Returns:
- The result of the LoadBalancerRequest callback on the selected ServiceInstance.
- Throws:
IOException
- in case of IO issues.
-
reconstructURI
URI reconstructURI(ServiceInstance instance, URI original)
Creates a proper URI with a real host and port for systems to utilize. Some systems use a URI with the logical service name as the host, such as http://myservice/path/to/service. This will replace the service name with the host:port from the ServiceInstance.- Parameters:
instance
- service instance to reconstruct the URIoriginal
- A URI with the host as a logical service name.- Returns:
- A reconstructed URI.
-
-