SpringCloud(三).Hystrix熔断器

一.服务器雪崩效应

在SpringCloud中存在多个微服务的调用情况,当服务的提供者不可用时,多次调用失败可能会导致服务调用者的不可用,逐渐扩展到整个系统不可用,这种情况称为服务器雪崩效应,下面图中展示服务的故障扩散,那么在SpringCloud中,解决这一效应就变得尤为重要,SpringCloud中通过Hystrix熔断器的熔断机制提高服务的容错能力。

二.熔断器的原理

Hystrix如同电力系统中断路器,在一定时期内检测到多次类似的错误,它将会强迫后续的多次调用快速失败,使应用不再访问远程服务,不再执行可能失败的错误访问,从而使得应用程序能够继续执行而不再等待错误的修正,或者等待长时间的超时产生,同时熔断器还具有诊断错误是否修正的能力,当错误修正时,服务会再次尝试调用。原理图如下图所示:

三.配置Hystrix

由于Hystrix只是用于服务调用端,所以引用上面spring-cloud-consumer项目进行改造,因为Feign中已经有了Hystrix的依赖,所以不需要添加新的配置

1.配置文件中添加 <span class="py">feign.hystrix.enabled<span class="p">=<span class="s">true</span></span></span>

2.实现HelloRemote接口,重写方法

3.配置会掉函数fallback

4.测试 ,启动Eureka,producer,consumer,输入http://localhost:8092/hello111/zhangsan,显示 hello zhangsan,this is first name;关闭producer,刷新页面,显示 hello zhangsan,this messge send failed,熔断成功。

Original: https://www.cnblogs.com/hs5201314tx/p/11518041.html
Author: 浪淘沙V
Title: SpringCloud(三).Hystrix熔断器

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/579658/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 确定稳定的 Spring Cloud 相关环境版本

    开发部署 Spring Cloud 微服务框架,需要先确定 Spring Cloud 的相关环境版本,主要包含:Spring Cloud、Spring Cloud Netflix、…

    Java 2023年5月30日
    069
  • 【JAVA UI】HarmonyOS功能很强大的弹窗XPopup

    ​参考资料 我们也可以参考Android的XPopup的框架去比较学习 api讲解 项目集成XPopup 1.我们需要在项目级的bulid.gradle 添加如下代码 reposi…

    Java 2023年5月29日
    094
  • Liquibase-数据库脚本版本管理控制

    1. 简介 Liquibase是一个用于跟踪、管理和应用数据库变化的开源的数据库重构工具。它将所有数据库的变化(包括结构和数据)都保存在XML文件中,便于版本控制。 Liquiba…

    Java 2023年6月7日
    098
  • 共读《redis设计与实现》-数据结构篇

    准备将之前攒下的书先看一遍,主要是有个大概的了解,以后用的时候也知道在哪里找。所以准备开几篇共读的帖子,激励自己多看一些书。 Redis 基于 &#x7B80;&#…

    Java 2023年6月7日
    089
  • Java Web Servlet 继承结构和生命周期

    Java Web Servlet 继承结构和生命周期 继承结构 继承关系如下图所示 抽象类Servlet有以下接口,其中init(),service(),destroy()三个主要…

    Java 2023年6月8日
    087
  • IO操作

    1、有5个学生,每个学生有三门课的成绩,从键盘输入以上数据(学生号,姓名,三门课的成绩),计算出平均成绩,将上述数据存放在文件”stud”中 import …

    Java 2023年6月6日
    085
  • Java 插入公式到PPT幻灯片

    PowerPoint幻灯片中可插入公式,用于在幻灯片放映时演示相关内容的论证、推算的依据,能有效地为演讲者提供论述的数据支撑。通过后端程序代码,我们可借助特定的工具来实现在幻灯片中…

    Java 2023年5月29日
    079
  • IDEA阅读spring源码并调试

    目标:搭建起Spring源码阅读和代码调试跟踪的环境,顺便建立一个简单的Demo,能够调试Spring的源代码 本节,主要介绍一下Spring源码阅读和调试的相关环境搭建,并使用M…

    Java 2023年5月29日
    066
  • 求职 | 【备战春招-大厂项目套路解析】末流二本如何包装简历项目?项目亮点怎么写、项目一定分布式吗?如何与面试官聊项目?

    原文链接: 实习、秋招关于项目那点事 视频版本: 【备战春招-大厂项目套路解析】末流二本如何包装简历项目?项目亮点怎么写、项目一定分布式吗?如何与面试官聊项目? https://w…

    Java 2023年6月5日
    064
  • 设计模式———-工厂(Factory)模式

    设计模式———-工厂(Factory)模式 作用 实现了创建者和调用者分离。 工厂模式核心/本质: 实例化对象不在使用 new,而是用工厂方法代…

    Java 2023年6月5日
    083
  • java创建线程池的三种方式

    java创建线程池一共有七种方式 这 7 种实现方法分别是: Executors.newFixedThreadPool:创建一个固定大小的线程池,可控制并发的线程数,超出的线程会在…

    Java 2023年6月13日
    088
  • github学生认证——申请学生开发包

    写在前面 申请学生认证的好处: GitHub学生的免费AWS Educate入门帐户,价值100美元。 专业的桌面IDE:IntelliJ IDEA,PyCharm等。学生的免费订…

    Java 2023年6月9日
    0101
  • 高峰应对记录

    一、背景 最近这个点9月中旬了,快到双十一了,公司开始对一些较为重要的系统开始进行压测。在这个过程中,需要保证系统的稳定性,以及高吞吐量。所以记录这次的压测过程,自己遇到的各种问题…

    Java 2023年6月15日
    076
  • springboot 集成swagger2(转)

    原文:https://www.cnblogs.com/kingsonfu/p/11519728.html 使用Swagger 可以动态生成Api接口文档,在项目开发过程中可以帮助前…

    Java 2023年5月30日
    093
  • mybatisPlus

    如果有lombok的话,@Date代表getSetToStringHashCodeEquals有参无参方法 基本的CURD 常用注解 Original: https://www.c…

    Java 2023年6月13日
    072
  • 【STM32F4】【银杏科技ARM+FPGA】iCore3移植RT-Thread–内核之空闲线程和钩子函数

    一、空闲线程 空闲线程是系统线程中一个比较特殊的线程,它具有最低的优先级,当系统中无其他线程可运行时,调度器将调度到空闲线程。空闲线程通常是一个死循环,永远不被挂起,例如rt_th…

    Java 2023年5月29日
    0117
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球