OpenFeign基于Ribbon和Hystrix的声明式服务调用

Spring Cloud OpenFeign 基于Ribbon和Hystrix的声明式服务调用

目录:

简介

工程目录

每个工程具体职能介绍在相应的md文档中

简介

OpenFeign声明式服务调用,整合了Ribbon和Hystrix拥有两者的功能,具有负载均衡和服务容错保护。

依赖

<dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-openfeign</artifactId>
        </dependency>

注解

@EnableFeignClients //开启feign服务

@FeignClent(value=“eureka中服务注册的名字”, fallback= xxx.class) //fallback服务调用出错启动的容错保护类

配置

feign:
  hystrix:
    enabled: true # 开启容错功能

示例

需要调用的服务接口
在这里插入图片描述
service中使用openFeign定义的接口类型调用
在这里插入图片描述
在这里插入图片描述
定义的容错处理类
在这里插入图片描述
测试服务容错

在这里插入图片描述

测试传入简单参数

在这里插入图片描述

测试传入list参数

在这里插入图片描述

配置Feign日志

日志级别:

    NONE:默认的,不显示任何日志。
    BASIC:仅记录请求方法、URL、响应状态码及执行时间。
    HEADERS:比BASIC,还多出了请求和响应的头信息。
    FULL:比HEADERS,还多出了请求和响应的正文和元数据信息。

配置:

@Configuration
public class Feignconfig {

    /**
     * feign开启日志配置
     * @return
     */
    @Bean
    public Logger.Level feignLoggerLevel(){
        return Logger.Level.FULL;
    }

}

springboot的yml配置文件配置日志级别

logging:
  level:
    com.zxf.feign.FeignServiceFeign: debug #注意debug前面有一个空格,确实会报错并且很难排查

示例
在这里插入图片描述

feign配置

feign:
  hystrix:
    enabled: true # 开启容错功能
  compression:
    request:
      enabled: false # 是否对请求进行压缩
      mime-types: text/xml,application/xml,application/json # 指定压缩请求类型
      min-request-size: 2048 # 超过此大小时,请求会被压缩
    response:
      enabled: false #是否对响应进行压缩
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值