Spring Cloud入门教程-Ribbon实现客户端负载均衡
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;
import org.springframework.beans.factory.annotation.Autowired;
@RestController
public class RibbonController {
@Autowired
private LoadBalancerClient loadBalancer;
@GetMapping("/ribbon-test")
public String ribbonTest() {
// 使用Ribbon进行客户端负载均衡
ServiceInstance instance = loadBalancer.choose("service-provider");
String url = String.format("http://%s:%s", instance.getHost(), instance.getPort()) + "/service-test";
// 使用RestTemplate发起对服务提供者的调用
RestTemplate restTemplate = new RestTemplate();
String response = restTemplate.getForObject(url, String.class);
return response;
}
}
这段代码使用了Spring Cloud的LoadBalancerClient
来选择一个服务实例,并构建了服务提供者的URL。然后使用RestTemplate
来发起对服务提供者的调用。这个过程展示了如何使用Ribbon进行客户端负载均衡。
评论已关闭