Eureka - 02.调用服务接口

在Spring Cloud中调用服务有两种方式:RestTemplate 和 FeignClient。先说说RestTemplate方式,其实它的底层采用的是HttpClient;

目前搭个简单的环境,有注册中心、用户服务、订单服务,现在要实现用户服务调用订单服务。

订单服务中有个getOrder的接口:
Eureka - 02.调用服务接口

在用户服务中,要先将RestTemplate注入到Spring容器中,再进行调用:
Eureka - 02.调用服务接口
Eureka - 02.调用服务接口

调用结果:
Eureka - 02.调用服务接口

但是这种方式是直接通过地址调用,并没有经过注册中心,所以还有一种方式就是通过注册中心使用服务别名进行调用,不过得依赖Ribbon负载均衡器,那么就需要使用@LoadBalanced注解使RestTemplate拥有负载均衡的能力。 
Eureka - 02.调用服务接口

把访问地址换为别名形式:
Eureka - 02.调用服务接口

再进行访问,也是没问题的:
Eureka - 02.调用服务接口

ps:这里说明一下Eureka的调用的原理,先看一张图: