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

参考答案

Feign 是受到 RetrofitJAXRS-2.0WebSocket 启发的 Java 客户端联编程序

Feign 的第一个目标是将约束分母的复杂性统一到 http apis,而不考虑其稳定性。

但是,我们必须编写大量代码,才能执行以下步骤:

  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());
    }
}

使用 Netflix Feign,使呼叫变得更加轻松和清洁。

如果Netflix Ribbon 依赖关系也在类路径中,那么 Feign 默认也会负责负载平衡。

 

以上,是Spring Cloud面试题【什么是 Netflix Feign?它的优点是什么】的参考答案。

输出,是最好的学习方法

欢迎在评论区留下你的问题、笔记或知识点补充~

—end—

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧