1. 需求分析
1-1. 需求分析
- 传统线程池: 线程池的参数不好配置,不同的任务类型也需要不同的参数设置。
- 动态线程池: 支持线程池参数动态调整、界面化操作。支持功能如下:
- 配置管理:包括修改线程池核心大小、最大核心大小、队列长度等;参数修改后及时生效。
- 监控:支持应用粒度、线程池粒度的监控。
- 分析:对线程池当前运行的状态进行分析。
- 告警:线程池队列任务积压到一定值时告知开发负责人。
1-2. 系统流程图
2. 技术选型
- SpringBoot
- Redisson
- Nacos
3. 项目开发
3-0. 初始化工程
创建SpringBoot项目,引入依赖
<build>
<finalName>dynamic-thread-pool-starter</finalName>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering><!--将${project.name}这种变量进行替换-->
<includes>
<include>**/**</include><!--所有目录的所有文件-->
</includes>
</resource>
</resources>
<testResources>
<testResource>
<directory>src/test/resources</directory>
<filtering>true</filtering>
<includes>
<include>**/**</include>
</includes>
</testResource>
</testResources>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId