文章预览
一、项目背景 使用线程池 ThreadPoolExecutor 过程中你是否有以下痛点呢? 代码中创建了一个 ThreadPoolExecutor,但是不知道那几个核心参数设置多少比较合适 凭经验设置参数值,上线后发现需要调整,改代码重新发布服务,非常麻烦 线程池相对开发人员来说是个黑盒,运行情况不能及时感知到,直到出现问题 如果有以上痛点,动态可监控线程池框架( DynamicTp )或许能帮助到你。 如果看过 ThreadPoolExecutor 的源码,大概可以知道它对核心参数基本都有提供 set / get 方法 以及一些扩展方法,可以在运行时动态修改、获取相应的值。 现在大多数的互联网项目都会采用微服务化部署,有一套自己的服务治理体系,微服务组件中的分布式配置中心 扮演的就是动态修改配置,实时生效的角色。 那么我们是否可以结合配置中心来做运行时线程池参数的动态调整呢?
………………………………