两种方式实现默认负载均衡
第一种:使用RestTemplate
@SpringCloudApplication
public class EurekaconsumerApplication {
/**
* LoadBalanced 注解用于使用应用名进行查找,并负载均衡
* @return RestTemplate
*/
@Bean
@LoadBalanced
public RestTemplate restTemplate() {
return new RestTemplate();
}
public static void main(String[] args) {
SpringApplication.run(EurekaconsumerApplication.class, args);
}
}
public String hello(String msg) {
return restTemplate.getForObject("http://ep/hello?msg=" + msg, String.class);
}
第二种:使用Feign
@SpringBootApplication
@EnableEurekaClient
@EnableFeignClients
public class EurekaconsumerforfeignApplication {
public static void main(String[] args) {
SpringApplication.run(EurekaconsumerforfeignApplication.class, args);
}
}
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.stereotype.Component;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
/**
* @author wangn
*/
@FeignClient(name = "ep")
@Component
public interface EurekaProvider {
@GetMapping("/hello")
String sayHello(@RequestParam("msg") String msg);
}