3.Spring Cloud LoadBalancer 入门与使用 ★ ✔【自带的负载均衡设置(轮询、随机)、Nacos自带的负载均衡设置(权重)、缓存的开启】
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 LoadBalancerController {
@Autowired
private LoadBalancerClient loadBalancerClient;
@GetMapping("/choose")
public String choose() {
ServiceInstance instance = loadBalancerClient.choose("service-id");
return instance.getUri().toString();
}
}
这段代码演示了如何在Spring Cloud应用中使用LoadBalancerClient
来选择一个服务实例。loadBalancerClient.choose("service-id")
方法会根据提供的服务ID选择一个实例,并返回包含该实例信息的ServiceInstance
对象。然后,通过这个实例的URI属性获取实例的地址,并返回它。这个过程是Spring Cloud Netflix Ribbon与Eureka结合使用实现自动负载均衡的一个例子。
评论已关闭