传统的RestTemplate
从Soring3.0开始支持的一个HTTP请求工具,提供了常见的REST请求方案的模板,如GET,POST,PUT等以及一些通用的请求执行的方法exchange以及execute。RestTemplate继承自InterceptionHttpAccessor并且实现了RestOperations接口,其中RestOperations接口定义了基本的Restful操作,这些接口在RestTemplat也得到了体现
Ribbon
Spring Cloud Ribbon 基于HTTP的TCP的客户端负载均衡工具,基于的Netflix Ribbon实现,通过Spring Cloud的封装,可以使用户轻松的将面向服务的Rest模板请求自动转化成客户端负载均衡的服务调用。
Ribbon只具有负载均衡的能力,并不具有发送的能力。需要配合服务通信组件:如RestTemplate,Feign
OpenFeign
OpenFeign是一个声明式的伪Http客户端(即:封装了Http请求,底层还是使用的RestTemplate发送的http请求),使得编写Http客户端变得更简单。只需要创建一个接口并加入相关注解。具有可插拔的注解特性(也可以使用SpringMVC注解),可以使用Feign注解和JAX-RS注解。将支持可插拔的编码器和解码器。默认继承了Ribbon。默认实现了负载均衡,且Feign添加了Spring MVC添加了注解支持。
总结
提示