当你有一些特殊的需求,想通过Ribbon获取对应的服务信息时,可以使用LoadBalancer Client来获取,比如你想获取一个Eureka客户端服务的服务地址,可以通过LoadBalancerClient的choose方法来选择一个

代码示例如下:

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cloud.client.ServiceInstance;
import org.springframework.cloud.client.loadbalancer.LoadBalancerClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class HouseController {

@Autowired
private LoadBalancerClient loadBalancer;

@GetMapping("/choose")
public Object chooseUrl(){
ServiceInstance instance = loadBalancer.choose("smile-eureka-client");
return instance;
}

}

访问接口,可以看到返回的信息如下:

Ribbon API使用_代码示例

        更多API使用,可以查看Ribbon模块ribbon-example,该模块是各api使用示例。