1、eureka-client中包含了ribbon需要的依赖,ribbon主要做负载均衡。
可以直接将负载均衡的注解加到resttemplate这个bean配置上,然后访问服务中心的服务地址,自然就完成了负载均衡。
@Bean
@LoadBalanced
public RestTemplate restTemplate() {
return new RestTemplate();
}
完成负载均衡。
2、feign的加入,这里最新的官方文档有坑
官方文档的依赖:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
实际上少了,@FeignClient这些都找不到
还要加入
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-openfeign-core</artifactId>
</dependency>
这才会有这些注解。
Feign能和ribbon集成,提供申明式的服务访问,它是以接口的形式进行处理的。
另外如果是java8还需要一个依赖包
<dependency>
<groupId>io.github.openfeign</groupId>
<artifactId>feign-java8</artifactId>
</dependency>
java中的代码:
@EnableFeignClients 启动类加入该注解
另外加入一个有@FeignClien的接口
然后在controller中注入该接口,调用即可
例子:
@FeignClient("base")
public interface HelloService {
@GetMapping("/portal")
String sayHi() ;
}