零碎知识点整理
2021-05-21 本文已影响0人
刘荣杰
sofa结构体系:多模块

sofa中使用sofa线程池
Java 线程池的使用非常广泛,目前有两类广泛使用的线程池实现: ThreadPoolExecutor 和 ThreadPoolTaskExecutor;前者为 JDK 提供的原生实现,后者是 Spring 提供的方便在 IoC 容器中使用的 JDK 线程池扩展。
然而,若线程池配置不当或者线程异常引起的故障非常难于排查,主要在于:
- 监控发现延迟太高:从线程池中线程发生故障到故障爆发,这中间的时间往往特别长
- 问题定位难:目前已有的线程异常信息有价值信息很有限,对于无法 100% 复现的问题,排查起来更是费时费力
- 配置无法动态变更:线程池的 core、maximum 大小在启动完成之后无法变更
接入线程池
具有优势:Space隔离,动态配置,监控信息