6-1 微服务之间的调用

注册到 Eureka Server 的各个微服务之间可以通过 Spring Cloud 自带的组件实现服务之间的调用。

Ribbon

Ribbon 是一个客户端负载均衡器(Spring Cloud Loadbalancer)。

  • 我们需要注入 RestTemplate,并使用 @LoadBalanced 注解开启负载均衡功能
  • 直接使用 RestTemplate 调用服务接口

Feign

Feign 可以实现声明式的 REST Web 服务客户端。

  • 引入依赖:spring-cloud-starter-openfeign
  • 开启 Feign 的支持:@EnableFeignClients
  • 通过 @FeignClient 注解指定调用的服务名称
  • 在接口中的方法上使用 @RequestMapping 指定调用服务的地址与请求的类型
    • 注意,不要将在接口上使用 @RequestMapping 注解,如果使用了 fallback 会有问题
  • 通过 @FeignClient 注解中的 fallback 属性来指定熔断