SpringCloud Feign与熔断踩坑实战

对应具体服务提供方的feign在服务提供方定义,其他消费依赖方引入依赖。

项目实践过程中主要注意以下问题:

一、

feign相关接口在服务方项目子模块下完成,消费方引入feign所在java包

服务方项目结构

为什么要在服务方定义对应该服务的feign接口,因为实际可能依赖该服务的相关服务众多,如在每一个消费方定义一个对应该服务的feign接口,工作量巨大,且容易出错,难以统一维护与管理,因此将对应服务的接口单独放在一个独立的统一项目模块下面开发、管理与维护。

二、消费方

消费方引入服务方所提供的feign接口对应jar包,核心关键点为以下配置

注解处的扫描非常关键,虽然ComponentScan包含路径下的feign已被spring容器加载,但所包装的并非完整的bean,需要被EnableFeignClients扫描才完整。

服务消费方application.yml配置

server:
  port: 8300
spring:
  application:
    name: consumer-user-feign

eureka:
  instance:
    prefer-ip-address: true #在Eureka中显示注册服务的时候的ip地址
  client:
    register-with-eureka: true #默认是true,将自己注册到eureka上,这里设置eureka的高可用,所以需要将自己注册到eureka上
    fetch-registry: true #是否从eureka上获取信息,由于本案例是单机,无需从别的eureka上获取注册信息,这里设置eureka的高可用,所以需要在eureka上获取服务
    service-url:
      defaultZone: http://localhost:8761/eureka/

#ribbon的超时时间3秒
ribbon:
  ReadTimeout: 3000
  ConnectTimeout: 3000
  eureka:
    enable: true

#开启熔断
feign:
  hystrix:
    enabled: true

熔断开启:feign.hystrix.enabled=true

至此,服务方feign可正常调用。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值