关于java:DynamicTp新版本发布还在为Dubbo线程池耗尽烦恼吗还在为Mq消费积压烦恼吗

44次阅读

共计 2027 个字符,预计需要花费 6 分钟才能阅读完成。

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/)

正文完
 0