DynamicTp 简介

DynamicTp 是一个基于配置核心实现的轻量级动静线程池管理工具,次要性能能够总结为 动静调参、告诉报警、运行监控、三方包线程池治理等几大类。

通过几个版本迭代,目前最新版本v1.0.6具备以下个性

个性

  • 代码零侵入:所有配置都放在配置核心,对业务代码零侵入
  • 轻量简略:基于 springboot 实现,引入 starter,接入只需简略4步就可实现,顺利3分钟搞定
  • 高可扩大:框架外围性能都提供 SPI 接口供用户自定义个性化实现(配置核心、配置文件解析、告诉告警、监控数据采集、工作包装等等)
  • 线上大规模利用:参考美团线程池实际,美团外部曾经有该实践成熟的利用教训
  • 多平台告诉报警:提供多种报警维度(配置变更告诉、活性报警、容量阈值报警、回绝触发报警、工作执行或期待超时报警),已反对企业微信、钉钉、飞书报警,同时提供 SPI 接口可自定义扩大实现
  • 监控:定时采集线程池指标数据,反对通过 MicroMeter、JsonLog 日志输入、Endpoint 三种形式,可通过 SPI 接口自定义扩大实现
  • 工作加强:提供工作包装性能,实现TaskWrapper接口即可,如 TtlTaskWrapper 能够反对线程池上下文信息传递,以及给工作设置标识id,不便问题追踪
  • 兼容性:JUC 一般线程池也能够被框架监控,@Bean 定义时加 @DynamicTp 注解即可
  • 可靠性:框架提供的线程池实现 Spring 生命周期办法,能够在 Spring 容器敞开前尽可能多的解决队列中的工作
  • 多模式:参考Tomcat线程池提供了 IO 密集型场景应用的 EagerDtpExecutor 线程池
  • 反对多配置核心:基于支流配置核心实现线程池参数动静调整,实时失效,已反对 Nacos、Apollo、Zookeeper、Consul,同时也提供 SPI 接口可自定义扩大实现
  • 中间件线程池治理:集成治理罕用第三方组件的线程池,已集成Tomcat、Jetty、Undertow、Dubbo、RocketMq、Hystrix等组件的线程池治理(调参、监控报警)

官网上线

随着v1.0.6的公布咱们上线了DynamicTp官网:https://dynamictp.cn

介绍文档、应用阐明等都能够查看官网理解更多,当前新个性也会优先公布到官网上

欢送大家体验

v1.0.6 公布记录

间隔v1.0.5公布曾经有差不多2个月工夫,这个版本框架源码调整还是比拟大的,重构了好一些性能,次要是围绕第三方中间件线程池集成来改变的,是向前兼容的,同时修复了三个小bug。

如果你有下述痛点,快快降级体验吧。

1)如果你在应用 Dubbo,那么你大概率遇到过 Dubbo 线程池耗尽的状况,是不是很懊恼呢?尝试应用下 DynamicTp 的 Dubbo 线程池治理性能,联合告警、实时监控、动静调参等性能尽可能升高 Dubbo 线程池耗尽,申请回绝的危险。

2)mq 应该是很多互联网零碎都会应用到的中间件,应用 mq 常常会遇到的其中一个问题就是音讯积压问题,具体啥起因导致积压须要具体问题具体分析,就RocketMq来说,生产端是应用线程池进行解决音讯的,所以说线程池的设置也会间接或者间接影响到生产速度,须要对此进行监控、告警、以及动静调参,尽可能升高因线程池设置而导致的积压危险。

留神:springboot 内置的三大 webserver 集成包默认会引入,不须要额定引入,其余三方组件的包须要本人引入,具体查看官网

Features

  • 报警渠道接入飞书
  • 反对 Apache Dubbo & Alibab Dubbo 服务端提供端线程池治理
  • 反对 RocketMq 生产端线程池治理
  • 反对 Hystrix 线程池治理
  • 反对 SpringBoot 内置三大WebServer(Tomcat、Jetty、Undertow)线程池治理
  • 减少线程池别名配置,晋升告警信息可读易懂性
  • 提供工作包装类NamedRunable,提交工作时设置标识名称,不便问题追踪
  • 告警项自定义配置,不配置的项用默认值

BugFix

  • 修复并发导致告诉报警信息发送多条的问题
  • 修复告诉渠道配置批改不能动静更新问题
  • 修复钉钉手机端报警信息高亮生效问题

Refactor

  • 重构局部告诉告警模块实现,反对三方中间件告诉告警
  • 重构调整 adapter、starter 模块代码组织构造

我的项目地址

目前累计 1.3k star,感激你的star,欢送pr,业务之余一起给开源奉献一份力量

官网:https://dynamictp.cn

gitee地址:https://gitee.com/dromara/dynamic-tp

github地址:https://github.com/dromara/dynamic-tp

退出社群

应用过程中有任何问题,或者对我的项目有什么想法或者倡议,能够退出社群,跟群友一起交换探讨。

微信群已满200人,能够加我集体微信 yanhom1314 拉群(备注:dynamic-tp)。

此文章版权归属dromara开源组织所有(https://dromara.org/)