Advertisement

微服务第39课:微服务的服务防护

阅读量:

1.服务保护机制设计

在SpringCloud的初始阶段,所应用的服务保障机制被命名为Hystix,但随后该方案被弃用,并由Spring Cloud Circuit Breaker所替代,其内部实现可基于Spring RetryResilience4J进行构建。

然而,在国内实际应用中,使用频率较高的仍然是来自SpringCloudAlibaba框架下的🏳️‍🌈 Sentinel模块。

随后,我们将对Sentinel组件的核心实现机制进行剖析,并探讨其与Hystix之间的主要区别。

1.1.线程隔离

首先我们来探讨线程隔离功能,无论是Hystix还是Sentinel均具备该功能。然而,二者在实现机制上存在差异。

💡 线程隔离的实现方式主要分为以下两类:

🔹 线程池隔离 :为每个服务调用的业务逻辑分配独立的线程池,通过线程池的管理机制来实现资源隔离的目的

🔹 信号量隔离 :无需建立线程池,而是采用计数器的方式进行控制,统计当前业务所占用的线程数量。当达到设定的信号量阈值后,将阻止新的请求进入

如图:

![](https://ad.itadn.com/c/weblog/blog-img/images/2025-05-31/r3CMewcgDLbIRXnWiSAftlGy7xmK

全部评论 (0)

还没有任何评论哟~