关闭

Feign简单入门

标签: feign
324人阅读 评论(0) 收藏 举报
分类:

http://www.jianshu.com/p/3d597e9d2d67 Feign简单入门

如果采用httpclient或者okhttp这样相对较重的框架,对初学者来说编码量与学习曲线都会是一个挑战,而使用spring中RestTemplate,又没有配置化的解决方案,由此想到是否可以脱离spring cloud,独立使用Feign。

http://blog.csdn.net/neosmith/article/details/52449921 使用Spring Cloud Feign作为HTTP客户端调用远程HTTP服务

在Spring Cloud Netflix栈中,各个微服务都是以HTTP接口的形式暴露自身服务的,因此在调用远程服务时就必须使用HTTP客户端。我们可以使用JDK原生的URLConnection、Apache的Http Client、Netty的异步HTTP Client, Spring的RestTemplate。但是,用起来最方便、最优雅的还是要属Feign了。

Feign是一种声明式、模板化的HTTP客户端。在Spring Cloud中使用Feign, 我们可以做到使用HTTP请求远程服务时能与调用本地方法一样的编码体验,开发者完全感知不到这是远程方法,更感知不到这是个HTTP请求。

http://blog.csdn.net/forezp/article/details/69808079  SpringCloud教程 | 第三篇: 服务消费者(Feign)

Feign是一个声明式的伪Http客户端,它使得写Http客户端变得更简单。使用Feign,只需要创建一个接口并注解。它具有可插拔的注解特性,可使用Feign 注解和JAX-RS注解。Feign支持可插拔的编码器和解码器。Feign默认集成了Ribbon,并和Eureka结合,默认实现了负载均衡的效果。
简而言之:
Feign 采用的是基于接口的注解
Feign 整合了ribbon

http://okeeper.leanote.com 使用Spring Cloud Feign作为HTTP客户端调用远程HTTP服务

Feign在默认情况下使用的是JDK原生的URLConnection发送HTTP请求,没有连接池,但是对每个地址会保持一个长连接,即利用HTTP的persistence connection 。我们可以用Apache的HTTP Client替换Feign原始的http client, 从而获取连接池、超时时间等与性能息息相关的控制能力

http://blog.csdn.net/songhaifengshuaige/article/details/74188106 在Feign中如何使用Okhttp

在当下微服务的场景下,HTTP请求方式成为了集成各服务的最佳方式。在 Java 平台上,Java 标准库提供了 HttpURLConnection 类来支持 HTTP 通讯。不过 HttpURLConnection 本身的 API
 不够友好,所提供的功能也有限。大部分 Java 程序都选择使用 Apache 的开源项目 HttpClient 作为 HTTP 客户端。Apache HttpClient 库的功能强大,使用率也很高,基本上是 Java 平台中事实上的标准 HTTP 客户端。本章介绍的是由 Square 公司开发的 OkHttp,是一个专注于性能和易用性的 HTTP 客户端。
OkHttp 库的设计和实现的首要目标是高效。这也是选择 OkHttp 的重要理由之一。OkHttp 提供了对最新的 HTTP 协议版本 HTTP/2 和 SPDY 的支持,这使得对同一个主机发出的所有请求都可以共享相同的套接字连接。如果
 HTTP/2 和 SPDY 不可用,OkHttp 会使用连接池来复用连接以提高效率。OkHttp 提供了对 GZIP 的默认支持来降低传输内容的大小。OkHttp 也提供了对 HTTP 响应的缓存机制,可以避免不必要的网络请求。当网络出现问题时,OkHttp 会自动重试一个主机的多个 IP 地址。

0
0
查看评论

使用Spring Cloud Feign作为HTTP客户端调用远程HTTP服务

在Spring Cloud Netflix栈中,各个微服务都是以HTTP接口的形式暴露自身服务的,因此在调用远程服务时就必须使用HTTP客户端。我们可以使用JDK原生的URLConnection、Apache的Http Client、Netty的异步HTTP Client, Spring的RestT...
  • tracker_w
  • tracker_w
  • 2016-09-06 14:50
  • 75422

Zuul进阶篇-okhttp替换httpclient

前言 在当下微服务的场景下,HTTP请求方式成为了集成各服务的最佳方式。在 Java 平台上,Java 标准库提供了 HttpURLConnection 类来支持 HTTP 通讯。不过 HttpURLConnection 本身的 API 不够友好,所提供的功能也有限。大部分 Java 程序都选择使...
  • songhaifengshuaige
  • songhaifengshuaige
  • 2017-07-03 13:15
  • 3651

Spring Cloud Feign 使用Apache的HTTP Client替换Feign原生httpclient

Feign在默认情况下使用的是JDK原生的URLConnection发送HTTP请求,没有连接池,但是对每个地址会保持一个长连接,即利用HTTP的persistence connection 。我们可以用Apache的HTTP Client替换Feign原始的http client, 从而...
  • yang920106
  • yang920106
  • 2018-01-19 10:33
  • 164

OkHttp的基本使用——替代Apache HttpClient

http是现在主流应用使用的网络请求方式, 用来交换数据和内容, 有效的使用HTTP可以使你的APP 变的更快和减少流量的使用 OkHttp 是一个很棒HTTP客户端: 支持SPDY, 可以合并多个到同一个主机的请求 使用连接池技术减少请求的延迟(如果SPDY是可用的话)...
  • u011851478
  • u011851478
  • 2016-07-05 17:27
  • 8533

杂谈,以及HttpClient过时后,继续使用HttpClient的方法

关于HttpClient和HttpURLConnection    参考:http://dwtedx.com/itshare_394.html 大多数的Android应用程序都会使用HTTP协议来发送和接收网络数据,而Android中主要提供了两种方式来进行HTTP操作:Http...
  • u011150924
  • u011150924
  • 2016-11-25 16:15
  • 10252

feign-使用最佳实践

Spring Cloud提供的微服务都是基于http,那么在请求的时候如果用spring提供的RestTemplate再加一个Ribbon提供的@LoadBalanced注解也是可以比较方便的发起微服务的调用,并且也能做到负载均衡。但是如果服务提供者参数较多也较复杂,那么使用这种方式需要拼接url或...
  • JThink_
  • JThink_
  • 2017-06-14 20:37
  • 3708

Spring Cloud构建微服务架构:服务消费(Feign)【Dalston版】

Spring Cloud Feign Spring Cloud Feign是一套基于Netflix Feign实现的声明式服务调用客户端。它使得编写Web服务客户端变得更加简单。我们只需要通过创建接口并用注解来配置它既可完成对Web服务接口的绑定。它具备可插拔的注解支持,包括Feign注解、J...
  • zl1zl2zl3
  • zl1zl2zl3
  • 2017-06-28 09:27
  • 567

Feign的简单应用总结

(1)微服务客户端调用服务提供者提供接口实现方式: JDK原生的URLConnection Apache的Http Client Netty的异步HTTP Client Spring的RestTemplate Feign 其中,用起来最方便、最优雅的还是要属Feign了。 (2)Feign实现步骤:...
  • shunhua19881987
  • shunhua19881987
  • 2017-07-20 10:32
  • 529

feign调用session丢失解决方案.txt

  • 2018-01-17 13:58
  • 8KB
  • 下载

关于feign调用传递header的解决方法

我现在用feign来实现内部系统的方法调用,但有一个问题,使用国际化的时候语言传递不了,因为在header上。 下面贴一下解决方案:@Bean public RequestInterceptor headerInterceptor() { return new Reques...
  • u014519194
  • u014519194
  • 2017-08-14 14:07
  • 3173
    个人资料
    • 访问:443337次
    • 积分:6272
    • 等级:
    • 排名:第4683名
    • 原创:270篇
    • 转载:47篇
    • 译文:2篇
    • 评论:363条
    新浪微博
      微信,浏览器,微博客户端均可扫