本文介绍: Hystrix是Netflix开源的一个用于处理分布式系统的延迟和容错的库,通过资源隔离、服务降级和熔断等方法,提高分布式系统的可用性和稳定性。在本章节中, 介绍了Hystrix具体方法上熔断、全局熔断案例,通过实战演练让大家更容易理解Hystrix断路器的作用。
系列文章目录
第一章 Java线程池技术应用
第二章 CountDownLatch和Semaphone的应用
第三章 Spring Cloud 简介
第四章 Spring Cloud Netflix 之 Eureka
第五章 Spring Cloud Netflix 之 Ribbon
第六章 Spring Cloud 之 OpenFeign
第七章 Spring Cloud 之 GateWay
第八章 Spring Cloud Netflix 之 Hystrix
前言
1、Hystrix概念
2、Hystrix作用
2.1、服务降级
当某个服务单元发生故障后,通过断路器的故障监控,向调用方法返回一个服务预期的、可处理的备选响应,而不是长时间的等待或者抛出调用方法无法处理的异常,避免了故障在分布式系统中的蔓延。
2.2、服务熔断
当某个服务单元发生故障后,通过断路器的故障监控,直接返回一个预设的失败响应,而不是长时间的等待或者抛出调用方法无法处理的异常,避免了故障在分布式系统中的蔓延。
3、案例
3.1、服务提供端降级
3.1.1、修改pom.xml配置依赖
3.1.2、在微服务方法上添加降级注解代码
3.1.3、在启动类加上注解
3.2、消费端降级
3.2.1、修改pom.xml配置依赖
3.2.2、修改application.yml配置
3.2.3、在消费端方法上添加代码
3.2.4、在消费端启动类上加上注解
3.3、全局降级
3.4、解耦降级
不管是业务方法指定的降级方法还是全局降级方法,它们都必须和业务方法在同一个类中才能生效,业务逻辑与降级逻辑耦合度极高。
3.4.1、修改application.yml
3.4.2、在方法上修改
3.5、服务熔断
3.5.1、Hystrix 实现服务熔断的步骤
3.5.2、实例
总结
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。