Eureka - 02.调用服务接口
在Spring Cloud中调用服务有两种方式:RestTemplate 和 FeignClient。先说说RestTemplate方式,其实它的底层采用的是HttpClient;
目前搭个简单的环境,有注册中心、用户服务、订单服务,现在要实现用户服务调用订单服务。
订单服务中有个getOrder的接口:
在用户服务中,要先将RestTemplate注入到Spring容器中,再进行调用:
调用结果:
但是这种方式是直接通过地址调用,并没有经过注册中心,所以还有一种方式就是通过注册中心使用服务别名进行调用,不过得依赖Ribbon负载均衡器,那么就需要使用@LoadBalanced注解使RestTemplate拥有负载均衡的能力。
把访问地址换为别名形式:
再进行访问,也是没问题的:
ps:这里说明一下Eureka的调用的原理,先看一张图: