来自:https://blog.csdn.net/JZJASXL/article/details/94732768
在Spring Cloud中,各个微服务都是以HTTP接口的形式暴露自身服务的,
因此在调用远程服务时就必须使用HTTP客户端。
我们可以使用JDK原生的URLConnection、Apache的Http Client、Netty的异步HTTP Client、Spring的RestTemplate。
但是,用起来最方便的还是要属Feign了。
Feign是一种HTTP客户端。在Spring Cloud中使用Feign,我们可以做到使用HTTP请求远程服务时能与调用本地方法一样的编码体验,
开发者完全感知不到这是远程方法,更感知不到这是个HTTP请求。
Feign的定义
为了让Feign知道在调用方法时应该向哪个地址发请求以及请求需要带哪些参数,我们需要定义一个接口:
@FeignClient(value = "xxx", url = "http://ip:端口/api")
public interface FeignClient {
}
总结
通过Feign,我们能把HTTP远程调用对开发者完全透明,得到与调用本地方法一致的编码体验。