1.简介
微服务架构中,业务都会被拆分成一个独立的服务,服务与服务的通讯是基于http restful的。Spring cloud有两种服务调用方式,一种是ribbon+restTemplate,另一种是feign。
2.什么是feign
既然一个系统被拆分成了无数个子系统,那系统之间是如何进行通信的呢?假如我现在在订单系统中想获取到会员的信息,此时,你能怎么做?
可能你会说用外链接查询,这个也没啥错,但是正规的分布式系统都是将对应的表分给了对应的库,所以这里链接查询是走不通的,这时,你可能在想,要是我能直接调用会员服务的方法那该多好,Feign就来了,他解决了服务与服务之间的通讯。
Feign是一种声明式、模板化的HTTP客户端。在Spring Cloud中使用Feign, 我们可以做到使用HTTP请求远程服务时能与调用本地方法一样的编码体验,开发者完全感知不到这是远程方法,更感知不到这是个HTTP请求,类似于Dubbo的RPC。
注意: 如果想实现服务与服务之前的调用,那么必须要有eureka这个注册中心
3.Maven依赖
<dependency>
<groupId>org.springframework.cloud</groupId>