千家信息网

Open-Feign整合hystrix降级熔断的示例分析

发表于:2024-11-27 作者:千家信息网编辑
千家信息网最后更新 2024年11月27日,这篇文章主要介绍Open-Feign整合hystrix降级熔断的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一、服务端1、配置文件application.ymlser
千家信息网最后更新 2024年11月27日Open-Feign整合hystrix降级熔断的示例分析

这篇文章主要介绍Open-Feign整合hystrix降级熔断的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

一、服务端

1、配置文件

application.yml

server:  port: 9000spring:  application:    name: my-test2 #服务的名称

2、控制层

@RestControllerpublic class ShoppingController {    @RequestMapping("/myTestBuy2")    public String myTestBuy2(){        //用来模拟服务超时        try {            Thread.sleep(6000);        } catch (InterruptedException e) {            e.printStackTrace();        }        return "购买成功--时间:"+ new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());    }}

二、客户端

1、依赖

                       org.springframework.cloud            spring-cloud-starter-openfeign                                    org.springframework.cloud            spring-cloud-starter-netflix-hystrix        

2、配置文件

server:  port: 8000spring:  application:    name: my-test1 #服务的名称#允许服务降级配置feign:  hystrix:    enabled: true#自定义ribbon的超时时间 设置的要比hystrix-timeoutInMilliseconds超时时间大ribbon:  #指的是建立连接后从服务器读取到可用资源所用的时间。  ReadTimeout: 10000  #指的是建立连接所用的时间,适用于网络状况正常的情况下,两端连接所用的时间,处理请求的超时时间,默认为5秒。  ConnectTimeout: 10000hystrix:  command:    default:      execution:        isolation:          thread:            #feign整合hystrix 光设置Hystrix超时没用的 要配合ribbon超时            timeoutInMilliseconds: 5000my-test2:  url: http://127.0.0.1:9000

3、启动类

@SpringBootApplication@EnableFeignClients//开启open-feign@EnableHystrix//开启降级熔断服务public class MyTestApplication1 {    public static void main(String[] args) {        SpringApplication.run(MyTestApplication1.class,args);    }}

4、在控制层当中调用

@RestControllerpublic class TestController1 {    @Autowired    TestService1 testService1;    @RequestMapping("/myTestBuy1")    public String myTestBuy2(){        return testService1.myTestBuy2();    }}

5、创建一个类实现服务FeignClient接口

@Componentpublic class MyHystrix1 implements TestService1 {    @Override    public String myTestBuy2() {        return "调用失败,该服务被熔断--时间:"+ new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());    }}

6、在服务FeignClient接口上配置FallBack实现类

@FeignClient(name = "my-test2", url = "${my-test2.url}", fallback = MyHystrix1.class)public interface TestService1 {    @RequestMapping("/myTestBuy2")    String myTestBuy2();}

三、测试

1、场景一服务正常调用

2、场景二当被调服务停止运行时

只给两秒的时间,则自动启动熔断


3、场景三当调取服务超时时

熔断时间根据hystrix设置的时间,我这里设置的是5秒

4、其他

以上是"Open-Feign整合hystrix降级熔断的示例分析"这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!

服务 时间 配置 整合 场景 所用 示例 分析 内容 名称 接口 文件 篇文章 控制 成功 两端 价值 兴趣 客户 客户端 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 2016重庆楼盘销售数据库 sql2000数据库收缩 落实冬奥会期间网络安全 信息时代如何保护网络安全 云服务器 按键精灵 一张图读懂网络安全审查 无源光网络技术优缺点 长城超云服务器告警感叹号 福建嵌入式系统的软件开发平台 徐汇区信息软件开发程序 有哪些游戏需要自己的服务器 在大连做软件开发怎么样 德州亚商互联网络科技 24核服务器可以开多少vps 数据库的数值怎么求和 光遇服务器波动补偿3.9 艺术互联网科技 网络安全商务就业 互联网科技与文教卫专委会 云南区穿越火线服务器在哪里 互联网软件开发的流程及步骤 光电材料好还是软件开发好 网络安全绩效专项审计 湖南省电脑软件开发 贵州省研发什么服务器云主机 嘉兴安全软件开发价格 使命召唤不同服务器可以一起玩吗 sqllite数据库备份文件 ftp服务器工作原理 生动解释 qt数据库事务回滚
0