线程隔离(舱壁模式)
线程隔离(舱壁模式)
1.线程隔离的实现方式
线程隔离有两种方式实现:
- 
线程池隔离 
- 
信号量隔离(Sentinel默认采用) 线程池隔离:给每个服务调用业务分配一个线程池,利用线程池本身实现隔离效果 信号量隔离:不创建线程池,而是计数器模式,记录业务使用的线程数量,达到信号量上限时,禁止新的请求。 
2.sentinel的线程隔离
2.1用法说明
在添加限流规则时,可以选择两种阈值类型:
- QPS:就是每秒的请求数,在快速入门中已经演示过
- 线程数:是该资源能使用用的tomcat线程数的最大值。也就是通过限制线程数量,实现线程隔离(舱壁模式)。
2.2案例:给 order-service服务中的UserClient的查询用户接口设置流控规则,线程数不能超过 2。然后利用jemeter测试。
选择feign接口后面的流控按钮

填写表单

2.3Jmeter测试

一次发生10个请求,有较大概率并发线程数超过2,而超出的请求会走之前定义的失败降级逻辑。

 
                    
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号