feign 启用 hystrix

feign 默认没有启用 hystrix,添加配置,启用 hystrix

  • feign.hystrix.enabled=true

application.yml 添加配置

feign:  hystrix:    enabled: true

启用 hystrix 后,访问服务
http://localhost:3001/item-service/35

默认1秒会快速失败,没有降级方法时,会显示白板页

可以添加配置,暂时减小降级超时时间,以便后续对降级进行测试

......feign:  hystrix:    enabled: true    hystrix:  command:    default:      execution:        isolation:          thread:            timeoutInMilliseconds: 500

feign + hystrix 降级

feign 远程接口中指定降级类

远程调用失败, 会执行降级类中的代码

ItemFeignService

...@FeignClient(name="item-service", fallback = ItemFeignServiceFB.class)public interface ItemFeignService {...

UserFeignService

...@FeignClient(name="user-service", fallback = UserFeignServiceFB.class)public interface UserFeignService {...

OrderFeignService

...@FeignClient(name="order-service",fallback = OrderFeignServiceFB.class)public interface OrderFeignService {...

降级类

降级类需要实现远程接口

ItemFeignServiceFB

package cn.tedu.sp09.service;import java.util.List;import org.springframework.stereotype.Component;import cn.tedu.sp01.pojo.Item;import cn.tedu.web.util.JsonResult;@Componentpublic class ItemFeignServiceFB implements ItemFeignService {  @Override  public JsonResult> getItems(String orderId) {    return JsonResult.err("无法获取订单商品列表");  }  @Override  public JsonResult decreaseNumber(List items) {    return JsonResult.err("无法修改商品库存");  }}

UserFeignServiceFB

package cn.tedu.sp09.service;import org.springframework.stereotype.Component;import cn.tedu.sp01.pojo.User;import cn.tedu.web.util.JsonResult;@Componentpublic class UserFeignServiceFB implements UserFeignService {  @Override  public JsonResult getUser(Integer userId) {    return JsonResult.err("无法获取用户信息");  }  @Override  public JsonResult addScore(Integer userId, Integer score) {    return JsonResult.err("无法增加用户积分");  }}

OrderFeignServiceFB

package cn.tedu.sp09.service;import org.springframework.stereotype.Component;import cn.tedu.sp01.pojo.Order;import cn.tedu.web.util.JsonResult;@Componentpublic class OrderFeignServiceFB implements OrderFeignService {  @Override  public JsonResult getOrder(String orderId) {    return JsonResult.err("无法获取商品订单");  }  @Override  public JsonResult addOrder() {    return JsonResult.err("无法保存订单");  }}

启动服务,访问测试

http://localhost:3001/item-service/35

feign 第一次调用超时_feign + hystrix 降级相关推荐

  1. feign 第一次调用超时_Feign ,3步搞定 HTTP 请求

    今天要给大家介绍的主角是Feign . Feign是一个受到Retrofit,JAXRS-2.0和WebSocket启发的Java到HTTP客户端绑定器. Feign的第一个目标是降低HTTP API ...

  2. feign 服务启动后加载 避免第一次调用超时 及第一次调用耗时长

    版本:feign-core 9.5.0   spring-cloud-starter-openfein 1.4.6 第一次调用耗时的原因-懒加载:1.spring mvc servlet;2.ribb ...

  3. ribbon基于接口配置超时_feign的ribbon超时配置和hystrix的超时配置说明

    先看下我的配置: ribbon: MaxAutoRetries: 1 #最大重试次数,当Eureka中可以找到服务,但是服务连不上时将会重试 MaxAutoRetriesNextServer: 1 # ...

  4. springcloud中fegin第一次跨模块调用超时

    问题 springcloud架构的项目中,偶尔出现fegin第一次调用超时的问题,该怎么处理? 现象 项目是个后端接口服务,接口调用链路会涉及到多个模块间fegin的调用.现象是:有时候重启部署后或者 ...

  5. feign接口调用出现连接超时

    确认代码无误后,调用出现   connect  time  out 问题. 因为feign已经集成robbon,hystrix,调用在规定时间内达不到就会报上述错误,并且这个规定时间会很短 解决办法: ...

  6. Hystrix面试 - 基于 timeout 机制为服务接口调用超时提供安全保护

    Hystrix面试 - 基于 timeout 机制为服务接口调用超时提供安全保护 一般来说,在调用依赖服务的接口的时候,比较常见的一个问题就是超时.超时是在一个复杂的分布式系统中,导致系统不稳定,或者 ...

  7. 怎么用feign远程调用别人的接口_Feign远程接口调用

    Feign远程接口调用 clouds234@163.com 2018-8-6 以下都是使用在springboot2.0.4内置启动插件基础上 Feign-only 不注册到eureka 单独使用fei ...

  8. Feign的调用报错时,降级处理方式,fallBackFactory

    Feign的调用报错时,降级处理fallBackFactory 项目结构: 代码: remoteCdsService package com.gsafety.framework.api;import ...

  9. SpringCloud服务消费者第一次调用出现超时问题的解决方案

    SpringCloud服务消费者第一次调用出现超时问题的解决方案 参考文章: (1)SpringCloud服务消费者第一次调用出现超时问题的解决方案 (2)https://www.cnblogs.co ...

最新文章

  1. 验证 Swarm 数据持久性 - 每天5分钟玩转 Docker 容器技术(104)
  2. linux之systemctl设置自定义服务
  3. 关联规则挖掘算法_基于Apriori关联规则的协同过滤算法
  4. 锁表次数一般多大_「健身增肌」有些肌肉喜欢“大重量”,有些肌肉需要“高次数”...
  5. Python 数据可视化利器 plus(plotly )
  6. java 面试 —— java 基础
  7. Matlab之字符串的查找(findstr)与替换(strrep)
  8. java语言程序设计 第八版 基础篇_Java语言程序设计基础篇(第八版)编程8.7答案
  9. 用C语言编译病毒,来来来,教你一个用C语言写个小病毒
  10. 雨棚板弹性法计算简图_钢结构雨篷图纸计算书
  11. app漏洞扫描原理_绿盟--漏洞扫描系统NSFOCUS RSAS-S-v5.0
  12. iOS文本展开收起,使用YYKit展开全文和收起全文,支持图文混排
  13. 学术会议html模板,学术会议的常用模板
  14. 深度森林论文阅读笔记
  15. java如何解除文件锁定状态_Eclipse操作SVN时中断锁定,文件的解锁方法
  16. 一文搞懂蓝绿部署和金丝雀发布
  17. 利用Python运行Ansys Apdl
  18. Bugku Misc 我永远喜欢穹妹
  19. 彻底删除oracle数据,彻底删除Oracle数据库的方法
  20. movie计算机英语作文,关于电影的英语作文movie

热门文章

  1. 微信小程序入门三:轮播图
  2. mongoDB mac 安装 小白必备
  3. 提交表单数据到数据库_普通表单不仅适用于数据库
  4. react 组件名称重复_设计可重复使用的React组件
  5. 狂神说学习笔记 Java流程控制
  6. python私人定制_手把手教你学python第十五讲(魔法方法续私人“定制”)
  7. centos 卸载python和yum之后的解决办法
  8. collections模块之namedtuple
  9. Python 正则表达式re模块的使用
  10. 使用jQuery的blockUI来实现页面回传数据时的等待页面