基于Diamond实现的动态线程池

基于Diamond实现的动态线程池

简介

dynamic-threadpool是一个动态线程池组件,可以使用这个组件来实现线程池参数的修改实时生效。

为什么要用?

第一个方面:

线程池调优是一种永恒的主题,传统的调优方式就是我们写死线程池的参数,部署,然后测试,然后根据测试的情况再修改,再重新部署,直到调优结束发布。

而基于动态线程池组件,我们可以省去部署的过程,修改直接生效,每次部署节省几分钟是最起码的吧。

第二个方面:

当我们线上出现线程池堆积问题的时候,动态线程池可以立马修改配置来快速解决问题。

核心能力

动态更新线程池参数:

动态更新线程池工作队列长度:

 

使用详情

引入maven依赖

使用ThreadPoolBuilder创建线程池并交由Spring容器管理

配置Diamond文件动态管理线程池参数

 

在spring配置文件增加diamond dataId与groupId配置即可。

加自动装配启动注解

在Application.java中加入@EnableDiamondDtp

 

使用平台压测调优

脱敏