【微服务篇】深入理解资源隔离,限流,熔断原理(Hystrix、Resilience4j和Sentinel)

分布式系统中的限流、降级与资源隔离:Hystrix、Resilience4j与Sentinel比较,

限流、降级和资源隔离是分布式系统设计中常用的三种技术手段,它们主要目的是增强系统的稳定性和可用性,尤其在高并发和不稳定网络环境下显得尤为重要

1.资源隔离的实现方式

资源隔离通常有两种主要的实现方式:线程池隔离和信号量隔离

线程池隔离

线程池隔离是通过为每个微服务或服务操作分配独立的线程池来实现的。这种方式的关键优势在于:

  • 隔离性:当某个服务出现问题(如响应时间过长或服务不可用)时,它只会占用自己的线程池中的线程。这保证了故障服务不会影响到其他服务的线程。
  • 超时控制:线程池可以设置任务执行的超时时间,如果服务调用超过设定的阈值,线程可以被中断或回收,从而避免长时间占用资源。
  • 并发控制:线程池的大小限制了可以并发执行的任务数量,有助于防止系统过载。

线程池隔离的缺点是它会增加上下文切换的开销,并且需要更多的系统资源来维护额外的线程。

信号量隔离

信号量隔离是另一种轻量级的隔离方法,它通过限制同时访问某一资源或服务的并发请求数来实现隔离。信号量隔离的特点包括:

  • 轻量级:不需要额外的线程或线程池,资源消耗相对较小。
  • 快速失败:当请求到达最大并发限制时,新的请求会被快速拒绝,而不是排队等待,这有助于迅速释放系统资源。
  • 适用性:适用于那些不涉及远程调用或耗时操作的轻量级任务,以及对线程资源敏感的场景。

信号量隔离的缺点是它没有线程池隔离那样的超时控制能力,且隔离级别较线程池隔离要低。

2. 服务熔断

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

林木森^~^

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值