在服务注册中心注册的各个服务不可以直接调用,而是通过服务中心来调用。
服务中心调用有两种方法:1:ribbon+restTemplate 2:feign
首先看看Ribbon+restTemplate
ribbon是一个负载均衡的客户端,
新建一个项目,并且在pom文件中加入
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-ribbon</artifactId>
</dependency>
依赖以保障它集成了Ribbon,
为Bean ResttTemplate添加注解@LoadBalanced注解来表明这个restRemplate开启负载均衡的功能
RestTemplate提供了多种调用远程服务的便捷式方法。
再看Feign,首先引入包
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
然后在主类中添加注解@EnableFeignClients来启动Feign功能
然后就可以编写一个类来调用服务,在其上加上@ FeignClient(“服务名”)来调用服务