什么是Netflix Feign?它的优点是什么?

Posted 四猿外

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了什么是Netflix Feign?它的优点是什么?相关的知识,希望对你有一定的参考价值。

Feign 是受到Retrofit,JAXRS-2.0 和WebSocket 启发的java 客户端联编程序。Feign 的第一个目标是将约束分母的复杂性统一到http apis,而不考虑其稳定性。

在employee-consumer 的例子中,我们使用了employee-producer 使用REST模板公开的REST 服务。

但是我们必须编写大量代码才能执行以下步骤
1、使用功能区进行负载平衡。
2、获取服务实例,然后获取基本URL。
3、利用REST 模板来使用服务。前面的代码如下

@Controller
public class ConsumerControllerClient {
@Autowired
private LoadBalancerClient loadBalancer;
public void getEmployee() throws RestClientException, IOException {
ServiceInstance
serviceInstance=loadBalancer.choose("employee-producer");
System.out.println(serviceInstance.getUri());
String baseUrl=serviceInstance.getUri().toString();
baseUrl=baseUrl+"/employee";
RestTemplate restTemplate = new RestTemplate();
ResponseEntity<String> response=null;
try{
response=restTemplate.exchange(baseUrl,
HttpMethod.GET, getHeaders(),String.class);
}catch (Exception ex)
{
System.out.println(ex);
}
System.out.println(response.getBody());

之前的代码,有像NullPointer 这样的例外的机会,并不是最优的。我们将看到如何使用Netflix Feign 使呼叫变得更加轻松和清洁。如果Netflix Ribbon 依赖关系也在类路径中,那么Feign 默认也会负责负载平衡。

以上是关于什么是Netflix Feign?它的优点是什么?的主要内容,如果未能解决你的问题,请参考以下文章

深入浅出SpringCloud原理及实战「Netflix系列之Fegin」从源码层面让你认识Feign工作流程和运作机制

netflix.feign 和 openfeign 的区别

Feign远程调用

SpringCloud之Eureka Feign简介

声明式HTTP客户端 - Spring Cloud OpenFeign

Spring Cloud Netflix Feign - 不支持错误 405 请求方法“POST”