成都网站建设设计

将想法与焦点和您一起共享

OpenFeign如何使用

这篇文章主要介绍了OpenFeign如何使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇OpenFeign如何使用文章都会有所收获,下面我们一起来看看吧。

站在用户的角度思考问题,与客户深入沟通,找到克拉玛依区网站设计与克拉玛依区网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:网站制作、成都做网站、企业官网、英文网站、手机端网站、网站推广、空间域名、网页空间、企业邮箱。业务覆盖克拉玛依区地区。

OpenFeign基本使用

OpenFeign简介

OpenFeign是一个声明式的http客户端,让编写web服务客户端变的非常容易,只需要创建一个接口并在接口上添加注解即可,OpenFeign的前身是Feign,后者目前已经停更了,OpenFeign是SpringCloud在Feign的基础上支持了Spring MVC的注解,并通过动态代理的方式产生实现类来做负载均衡并进行调用其他服务。

Ribbon+RestTemplate过于繁琐,通过OpenFeign可以简化开发

基本使用

以用户服务调用商品为例

用户服务配置 OpenFeign

  1. 导入依赖

    
    			org.springframework.cloud
    			spring-cloud-starter-openfeign
    		

  2. 启动类上加注解

    OpenFeign如何使用

在商品服务中写被调用接口(无参接口测试)

OpenFeign如何使用

在用户服务中 直接使用Feign写服务调用

  1. 创建一个普通的Java接口

    OpenFeign如何使用

  2. 通过注解声明当前接口为 Feign的客户端

    OpenFeign如何使用

  3. 在Feign接口中 写服务调用的方法

    OpenFeign如何使用

  4. 在用户服务的Controller中使用Feign接口

    OpenFeign如何使用

  5. 启动所有服务 两个商品服务 一个用户服务 注册中心 访问用户服务观察服务调用

    访问用户服务的Controller 可以看到负载均衡的效果

    OpenFeign如何使用

    OpenFeign如何使用

  6. 流程

    OpenFeign如何使用

关于传递参数的处理

参数传递都是json 实际上是RestFul的请求

  1. /{} 拼接参数

    1. 被调用接口示例【商品服务】

      OpenFeign如何使用

    2. Feign接口示例【用户服务】

      OpenFeign如何使用

  2. ?拼接参数 对应常见请求类型Get请求

    1. 被调用接口示例【商品服务】

      OpenFeign如何使用

    2. Feign接口示例【用户服务】

      OpenFeign如何使用

  3. 请求体传递参数 对应常见请求Post请求

    1. 被调用接口示例【商品服务】

      OpenFeign如何使用

    2. Feign接口示例【用户服务】

      OpenFeign如何使用

开启日志

Feign 和 RestTemplate 不一样 ,对请求细节封装的更加彻底,不管是请求还是请求的参数,还是响应的状态都看不到,想要看到请求的细节需要通过Feign的日志

Feign日志的配置

1.配置类 @Bean

OpenFeign如何使用

[@Bean](https://my.oschina.net/bean)
public Logger.Level feignConfig(){
    return Logger.Level.FULL;
}

2.在配置文件中开启Feign接口所在包的日志

OpenFeign如何使用

通过以上配置 重启项目 再次使用Feign服务调用 就会看到如下日志:

OpenFeign如何使用

OpenFeign如何使用

Feign参数调优

1. 替换OKHttp

在默认情况下 spring cloud feign在进行各个子服务之间的调用时,http组件使用的是jdk的HttpURLConnection,没有使用线程池。

有2种可选的线程池:HttpClient和OKHttp,比较推荐OKHttp,请求封装的非常简单易用,性能也很ok。

添加依赖


    com.squareup.okhttp3
    okhttp

修改配置文件

feign:
  okhttp:
    enabled: true
  httpclient:
    enabled: false
    max-connections: 1000
    max-connections-per-route: 100

max-connections:最大连接数

max-connections-per-route:每个url的连接数

2. 开启Feign请求响应压缩

开启压缩可以有效节约网络资源,但是会增加CPU压力,建议把最小压缩的文档大小适度调大一点

## 开启Feign请求响应压缩
feign.compression.request.enabled=true

feign.compression.response.enabled=true
## 配置压缩文档类型及最小压缩的文档大小
feign.compression.request.mime-types=text/xml,application/xml,application/json

feign.compression.request.min-request-size=2048

关于“OpenFeign如何使用”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“OpenFeign如何使用”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注创新互联行业资讯频道。


名称栏目:OpenFeign如何使用
转载来于:http://chengdu.cdxwcx.cn/article/pcsijh.html