【尚学堂】Java300集零基础适合初学者视频教程_Java300集零基础教程_Java初学入门视频基础巩固教程_Java语言入门到精通_哔哩哔哩_bilibili
1.服务隔离、降级和熔断的产生背景
tomcat底层都会共享一个线程池(自己创建的例外),当某个方法(服务)访问非常慢造成响应延迟,会造成大多数线程阻塞,导致整个线程池被占用甚至拖垮。
线程名定义:线程池名称+线程ID
2.服务隔离解决思路
2.1 线程池隔离
不同的http服务使用不同的线程池,当自己的资源用完,直接返回失败而不是占用别人的资源
优点:可提高并发性
缺点:增加CPU调度开销
使用场景:第三方应用或接口;并发量大
2.2 信号量隔离
原子计数器方式记录当前运行的线程数,超过则拒绝,不超过则+1,返回则-1
使用场景:内部应用或中间件;并发需求不大
区别:信号量可动态调整&