消费者负载均衡
生产端创建方法返回调用端口
@RestController
@Slf4j
public class ConsumerController {
@Value("${server.port}")
private String port;
@GetMapping("/getPort")
public String getPort(){
log.info(this.port);
return this.port;
}
}
消费端消费
@Configuration
public class ConsumerConfig {
@Bean
public
> RestTemplate
restTemplate(){
return new RestTemplate();
}
}
@RestController
public class ConsumerController {
@Autowired
private DiscoveryClient discoveryClient;
@Autowired
private RestTemplate restTemplate;
@GetMapping("/index")
public String index(){
List<ServiceInstance> provider = discoveryClient.getInstances("provider");
int index = ThreadLocalRandom.current().nextInt(provider.size());
String url = provider.get(index).getUri()+"/index";
return "consumer随机远程调用provier:"+this.restTemplate.getForObject(url, String.class);
}
}