微服务第39课:微服务的服务防护
发布时间
阅读量:
阅读量
1.服务保护机制设计
在SpringCloud的初始阶段,所应用的服务保障机制被命名为Hystix,但随后该方案被弃用,并由Spring Cloud Circuit Breaker所替代,其内部实现可基于Spring Retry或Resilience4J进行构建。
然而,在国内实际应用中,使用频率较高的仍然是来自SpringCloudAlibaba框架下的🏳️🌈 Sentinel模块。
随后,我们将对Sentinel组件的核心实现机制进行剖析,并探讨其与Hystix之间的主要区别。
1.1.线程隔离
首先我们来探讨线程隔离功能,无论是Hystix还是Sentinel均具备该功能。然而,二者在实现机制上存在差异。
💡 线程隔离的实现方式主要分为以下两类:
🔹 线程池隔离 :为每个服务调用的业务逻辑分配独立的线程池,通过线程池的管理机制来实现资源隔离的目的
🔹 信号量隔离 :无需建立线程池,而是采用计数器的方式进行控制,统计当前业务所占用的线程数量。当达到设定的信号量阈值后,将阻止新的请求进入
如图:

还没有任何评论哟~
