架构师:深入了解Feign简化微服务通信
1、简述
Feign 是 Netflix 公司开发的一个声明式的 REST 调用客户端(调用远程的restful风格的http接口 的一个组件);是一个http请求调用的轻量级框架,可以以Java接口注解的方式调用Http请求,而不用像Java中通过封装HTTP请求报文的方式直接调用。Feign通过处理注解,将请求模板化,当实际调用的时候,传入参数,根据参数再应用到请求上,进而转化成真正的请求,这种请求相对而言比较直观。
Feign被广泛应用在Spring Cloud 的解决方案中,是学习基于Spring Cloud 微服务架构不可或缺的重要组件。
开源项目地址: https://github.com/OpenFeign/feign
2、Feign设计
Feign 在默认情况下,采用的JDK的HttpURLConnection调用,是一种声明式的调用方式,它的使用方法是定义一个接口,然后在接口上添加注解,使其支持了Spring MVC标准注解和HttpMessageConverters,Feign可以与Eureka和Ribbon组合使用以支持负载均衡。
常用的http组件:
A、Httpclient(apache)
B、Httpurlconnection (jdk)
C、restTemplate(spring)
D、OkHttp3 (android)
E、Feign (Netflix)
还没有评论,来说两句吧...