:fire:   动态线程池系统,包含 Server 端及 SpringBoot Client 端需引入的 Starter.

LICENSE


**动态线程池监控**,主意来源于美团技术公众号 [点击查看美团线程池文章](https://tech.meituan.com/2020/04/02/java-pooling-pratice-in-meituan.html)
看了文章后深受感触,再加上最近线上线程池的不可控以及不可逆等问题,想做出一个 **兼容性、功能性、易上手等特性** 集于一身的的开源项目,目标还是要有的
目前项目由作者独立开发,时间在下班后、周六天等。具体什么时候能发布 1.0.0 版本不好说,需要看实际的开发情况
根据目前的想法,美团技术文章中支持的特性,DTP(Dynamic Thread Pool)项目都会兼容进去,可能部分会因为作者技术有限,无法兼容 比如: - 修改阻塞队列长度 - 修改线程池核心线程数、最大线程数、线程存活时长... - 线程池详细信息监控 - 线程池负载报警 - ...
**项目不会强依赖某个不通用的中间件**,对于小体量的工程,越是轻便越会有人想要去了解以及使用
![](https://images-machen.oss-cn-beijing.aliyuncs.com/image-20210712091201286.png)
## 本地部署 目前动态线程池功能已经完成,可以直接把代码拉到本地运行。项目中数据库是作者 ECS Docker 搭建,大家直接使用即可
1. 启动 server 模块下 ServerApplication 启动类
2. 启动 example 模块下 ExampleApplication 启动类
3. 可以通过调用接口修改线程池配置。修改请求如下,**请求时勿动 tenantId、itemId、tpId**
```json POST http://localhost:6691/v1/cs/configs { "tenantId": "common", "itemId": "message-center", "tpId": "custom-pool", "coreSize": 10, "maxSize": 15, "queueType": 9, "capacity": 9, "keepAliveTime": 100, "rejectedType": 7, "isAlarm": 2, "capacityAlarm": 80, "livenessAlarm": 80 } ```
接口调用成功后,观察 example 控制台日志输出,日志输出包括不限于此信息即为成功
![](https://images-machen.oss-cn-beijing.aliyuncs.com/image-20210804082501860.png)