什么是 NetflixFeign?它的优点是什么?
2024-09-18 00:15:01
Feign 是受到 Retrofit,JAXRS-2.0 和 WebSocket 启发的 java 客户端联编程序。Feign 的第一个目标是将约束分母的复杂性统一到 http apis,而不考虑其稳定性。在 employee-consumer 的例子中,我们使用了 emplo e-producer 使用 REST模板公开的 REST 服务。
但是我们必须编写大量代码才能执行以下步骤
1、使用功能区进行负载平衡。
2、获取服务实例,然后获取基本 URL。
3、利用 REST 模板来使用服务。前面的代码如下
@Controllerpublic 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 Fe n使呼叫变得更加轻松和清洁。如果 Netflix Ribbon 依赖关系 径中,那么 Feign 默认也会负载平衡。
最新文章
- AngularJs 动态加载模块和依赖
- ansible操作远程服务器报Error: ansible requires the stdlib json or simplejson module, neither was found!
- 【转】 Understanding Component-Entity-Systems
- C# 平时碰见的问题【5】
- Oracle的学习三:java连接Oracle、事务、内置函数、日期函数、转换函数、系统函数
- [java学习笔记]java语言基础概述之转义字符&;break&;continue
- spring常用的连接池属性文件配置
- Nearly prime numbers - SGU 113(素数)
- ARM指令集——条件执行、内存操作指令、跳转指令
- Convert.ToInt32()和int.Parse()的区别
- MVC:Controller向View传值方式总结
- 201521123076 《Java程序设计》第6周学习总结
- [SDOI2009]虔诚的墓主人
- Java容器:Set
- LeetCode算法题-Range Sum Query Immutable(Java实现)
- Ubuntu 12.04 安装socks5代理服务器dante-server
- 关于APP,原生和H5开发技术的争论 APP开发技术选型判断依据
- 软件工程_6th weeks
- 陌生的 metaclass(转)
- file 文件处理