什么是Hystrix,Hystrix简单概述

服务雪崩是复杂系统中由于调用链路故障导致的系统崩溃现象。熔断机制是应对这一问题的解决方案,通过预熔断和即时熔断减少故障影响。Hystrix是一个用于处理服务间交互延迟和故障的库,它通过隔离、回退策略防止服务雪崩,提高系统弹性,并提供服务降级以优化用户体验。
摘要由CSDN通过智能技术生成

在讲解Hystrix之前,首先要清楚雪崩效应、服务雪崩、熔断机制这几个服务熔断概念。

服务熔断-雪崩效应

在一些比较复杂的系统会出现A依赖B,B依赖C,C依赖D的情况,产生很长的调用链路,这种复杂的调用链路被称为1->N的扇出。如果在调用链路上,有一个或者几个被调用的服务出现问题(不可用、延迟过高等问题)会导致调用A服务的请求被堵住。这时A服务仍然会占用系统线程、IO等资源,如果A服务请求继续增加,系统出现瓶颈导致其他请求不可用,最终业务系统崩溃,这就是雪崩效应。

服务熔断-服务雪崩

用户请求需要访问A、P、H、I服务。如果资源I出现了问题,用户请求就会发生等待(网络带宽被占用)。如果资源在短时间内访问数量很大,将会有大量的网络带宽、消费者线程被占用。这种发生在分布式SOA系统中的雪崩效应被称为服务雪崩。

服务熔断-熔断机制

熔断机制是一种有效解决服务雪崩的方案。常见的熔断有两种,一种是预熔断,另一种是即时熔断。

预熔断也叫提前熔断,根据以往的经验能够提前预料到在某个时段中会出现峰值,为了保证基本的功能正常使用,通过服务治理,预先把不是很紧急的访问权限暂停。

即时熔断是在非预计情况下,在某个时间段中消费者对于提供者的请求失败率达到一定阈值的时候,消费者和提供者的访问链路会断开。

服务降级

熔断在用户看来体验很差,为了提升用户体验就要进行服务降级。发生服务熔断就一定要服务降级,服务降级不一定发生了服务熔断。

在埋点处给出温馨提示,提升用户体验。

Hystrix简介

从官网上可以看到,在分布式环境中,许多服务依赖中的一些服务发生失败是不可避免的。Hystrix是一个库,通过添加延迟容忍和容错逻辑,帮助你控制这些分布式服务之间的交互。Hystrix通过隔离服务之间的访问点、停止跨服务的级联故障以及提供回退选项来实现这一点,所有这些都可以提高系统的整体弹性。

也就是说Hystrix是一种类似于熔断保险丝的开关装置。在消费者端安装一个Hystrix熔断器。当Hystrix监控到某个服务发生故障后熔断器就会开启,将此服务访问链路断开。不过Hystrix并不会将该服务的消费者阻塞,或向消费者抛出异常,而是向消费者返回一个符合预期的备选响应(FallBack)。

通过Hystrix的熔断与降级功能,避免了服务雪崩的发生,同时也考虑到了用户体验,故Hystrix是系统的一种防御机制。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值