注册到 Eureka Server 的各个微服务之间可以通过 SpringCloud 自带的组件实现服务之间的调用
Ribbon 方式调用
Ribbon 是一个客户端负载均衡器,可以很好的控制 HTTP 和 TCP 客户端的行为
-
XXXApplication.java 中完成注入,并标记 @LoadBalanced 开启负载均衡的功能
-
XXXController.java 中通过 RestTemplate 调用服务接口,与常见的 RestTemplate 不同的是,调用使用的不再是 ip + port,而是服务名。这是通过注册中心(Eureka Server)实现的。
Feign 方式调用
Feign 可以实现声明式的 Web 服务客户端
-
通过 @FeignClient 指定调用的服务名称
-
在接口上声明 @RequestMapping 指明调用服务的地址与请求类型
-
通过在 @FeignClient 中配置 fallback 指定熔断
-
实现接口:XXXClient.java,熔断:XXXClientHystrix.java