一旦服务阻塞就进行服务降级或线程隔离。要不然就会导致大面积服务的瘫痪,Hystrix就是干这个的,一出现不健康的服务就进行熔断,不阻塞后面线程的执行。


引入依赖:

加注解:

这三个注解可以用一个注解搞定:

当出现服务阻塞时,调用下面的方法:

将注解加在类上,进行统一处理,不然的话,每个方法上都要添加如上这段内容,太臃肿:

defaultFallback指向的通用方法是:

类上添加@DefaultProperties注解指定默认的熔断处理方法后,只需要在方法上添加@HystrixCommand注解即可:

可以通过@HystrixCommand注解设置服务的超时时间,超过设定的时间才会触发熔断机制,框架默认配置的超时时间是1000ms毫秒:

也可以在配置文件中配置全局的超时时间属性,比如将默认的1秒配置为3秒,整个项目都通用:

这样默认的超时时间是3秒,如果某个方法要自定义超时时间就使用上面注解的方式。

这个default可以换成服务名称或方法名称,就只对指定的服务或方法起作用。


模拟服务超时场景:

线程隔离在我们进行代码配置的时候就已经在底层实现了。

最新文章

  1. iOS 解决LaunchScreen中图片加载黑屏问题
  2. 分布式入门之1:Lease机制
  3. mysql数据库管理备份运维常用命令
  4. 说一说&&符
  5. ASP.NET C# 有程序集加不了解决办法
  6. Windows Phone开发(10):常用控件(上)
  7. mongodb学习(二)分级查询数组中的值
  8. Oracle-09:聚合函数
  9. python学习day20 面向对象(二)类成员&成员修饰符
  10. GMT\UTC YYYY-MM-DDTHH:mm:ss.sssZ、YYYY-MM-DDTHH:mm:ss.sss+8:00意义及与北京时间转换
  11. 设计模式C++学习笔记之十八(Visitor访问者模式)
  12. 用Quartz 2D画小黄人
  13. Gson解析第三方提供Json数据(天气预报,新闻等)
  14. Github作为图床的一个小坑
  15. Django model 中设置联合约束和联合索引
  16. PHP 验证码:扭曲+粘连+变形
  17. 批量远程执行linux服务器程序--基于paramiko(多线程版)
  18. [Training Video - 6] [File Reading] [Java] Create and Write Excel File Using Apache POI API
  19. SVM 为什么要从原始问题变为对偶问题来求解
  20. JS动态修改微信浏览器中的title

热门文章

  1. P1071 潜伏者
  2. 洛谷P4343 [SHOI2015]自动刷题机
  3. .bat批处理命令之设置关机倒计时脚本
  4. Sybase数据库连接配置
  5. mysql 自联结
  6. 多维矩阵转一维数组(c++)【转载】
  7. 利用art.template模仿VUE 一次渲染多个模版
  8. openresty开发系列33--openresty执行流程之3重写rewrite和重定向
  9. ISO/IEC 9899:2011 前言
  10. 使用EF 4.1的DbContext的方法大全