Я изучал Эврику, в которой я пришел к топи c "Эврика с лентой". Интересно, Eureka внутренне использует ленту для балансировки нагрузки? Я создал сервер Eureka и два микросервиса, Microservice1 и Microservice2. Microservice1 вызывает Microservice2 (запущено 2 экземпляра). Я использую RestTemplate, чтобы сделать звонок. Я создал его компонент, аннотированный @ LoadBalanced.
@Bean
@LoadBalanced
public RestTemplate restTemplate() {
return new RestTemplate();
}
Затем использовал его для вызова.
Контроллер Miroservice1:
@RestController
public class Micro1Controller {
@Autowired
RestTemplate restTemplate;
@GetMapping("/getmicro2")
public String getMicro2Instance()
{
String url = "http://microservice2/microservice2/port";
String port = "Currently hitting instance running on port: " + restTemplate.getForObject(url, String.class);
return port;
}
}
И он прекрасно работает, и запрос сбалансирован с помощью RoundRobin al go Я думаю. Мне не нужно было добавлять даже зависимость от ленты. Итак, связано ли @LoadBalanced с абстракцией ленты?