springcloud alibaba实战(二)----整合openfeign

说明: 文章一已整合好nacos,但想要服务调用还是有点麻烦,需要先从nacos-server中拿到目标服务的路径,再去访问目标服务,如下图
在这里插入图片描述
从注册中心nacao的负载均衡接口获取服务实例信息,在通过RestTemplate调用服务, 感觉是不是很麻烦?很不爽?
所以如openfeign等中间件就酝酿而生,把这些麻烦的东西给做了,并提供一些其他强大功能。

正文:
本次整合在atom-api服务中,去调用atom-user服务。
1、pom.xml引入openfeign依赖

<!--openfein的依赖-->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-openfeign</artifactId>
            <version>2.1.2.RELEASE</version>
        </dependency>

2、在启动类application中加入@EnableFeignClients注解开启feign服务
在这里插入图片描述
3、创建feign调用的service接口
在这里插入图片描述
4、编写调用接口
在这里插入图片描述
目标服务atom-user的提供服务为:
在这里插入图片描述
启动2个服务,访问该接口
在这里插入图片描述

5、feign配置功能

修改日志级别
在发送和接收请求的时候,将日志的输出定义了四个等级:

级别说明
NONE不做任何记录
BASIC仅记录请求方法和URL以及响应状态代码和执行时间
HEADERS记录基本信息以及请求和响应标头
FULL记录请求和响应的标题,正文和元数据

默认是不打印日志的,所以在application.yim中配置日志路径:

logging:
level:
com.pig.springcloud.alibaba.example.springcloud.alibaba.examples.feign: debug
在这里插入图片描述
创建配置类
在这里插入图片描述
再启动服务后访问刚才接口,查看日志
在这里插入图片描述
数据压缩:

feign:
  compression:
    request:
       enabled: true
    response:
       enabled: true

配置文件中 default全局配置
feign.client.config.default.xxx ,通过这个default创建全局的配置属性。

feign:
  client:
    config:
      default:
        connectTimeout: 5000
        readTimeout: 5000
        loggerLevel: basic

配置文件中专属配置
可设置连接超时时间、日志级别、拦截器、数据加密解密等功能

feign:
  client:
    config:
      feignName:
        connectTimeout: 5000
        readTimeout: 5000
        loggerLevel: full
        errorDecoder: com.example.SimpleErrorDecoder
        retryer: com.example.SimpleRetryer
        requestInterceptors:
          - com.example.FooRequestInterceptor
          - com.example.BarRequestInterceptor
        decode404: false
        encoder: com.example.SimpleEncoder
        decoder: com.example.SimpleDecoder

拦截器等本次不做详细记录。

资料参考: https://www.jianshu.com/p/49accf2167b2

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值