并发线程数的限流,底层实现会分析吗?

来源:10-15 Sentinel--通过代码定义资源和限流规则

慕沐0177137

2022-05-20

如题,
老师

写回答

1回答

大能老师

2022-05-20

如果采⽤线程数的限流模式,Sentinel会控制访问该资源的线程数,超出的请求会拒绝,直到堆积的线程处理完成。相当于是以资源为维度, 隔离出了这个资源对应的并发线程数。

前面我们主要是讲解了高并发场景下的流量控制,但是我们的应用还有可能会因为其它的原因而发生不稳定甚至故障的情况,比如当应⽤所依赖的下游应⽤服务不稳定、响应延迟增加,对于调⽤者来说,意味着吞吐量下降和更多的线程数占⽤,极端情况下甚⾄导致应用线程耗尽。

为避免这个问题,业界的解决方式就是线程隔离,然后对于线程隔离,通常有两种实现方式:

  1. 线程池隔离,使⽤不同线程池来隔离业务⾃⾝之间的资源争抢;

  2. 信号量隔离,Sentinel就是采用这种方式,它简单统计当前请求上下⽂的线程数⽬,如果超出阈值,新的请求会被⽴即拒绝。

我们接下来马上要更新的视频,就是对这两种实现方式进行详细的讲解,同学敬请期待^_^


0
0

Java分布式架构设计与开发实战

项目贯穿式讲解,真正将理论与实战相结合

325 学习 · 74 问题

查看课程