动态线程池框架 DynamicTp v1.1.4大版本发布,新增若干实用特性
DynamicTp 简介
DynamicTp 是一个基于配置中心实现的轻量级动态线程池监控管理工具,主要功能可以总结为动态调参、通知报警、运行监控、三方包线程池管理等几大类。
DynamicTp 特性
-
代码零侵入:我们改变了线程池以往的使用姿势,所有配置均放在配置中心,服务启动时会从配置中心拉取配置生成线程池对象放到 Spring 容器中,使用时直接从 Spring 容器中获取,对业务代码零侵入
-
通知告警:提供多种报警维度(配置变更通知、活性报警、容量阈值报警、拒绝触发报警、任务执行或等待超时报警),已支持企业微信、钉钉、飞书、邮件报警,同时提供 SPI 接口可自定义扩展实现
-
运行监控:定时采集线程池指标数据,支持通过 MicroMeter、JsonLog 日志输出、Endpoint 三种方式,可通过 SPI 接口自定义扩展实现
-
任务增强:提供任务包装功能,实现 TaskWrapper 接口即可,如 MdcTaskWrapper、TtlTaskWrapper、SwTraceTaskWrapper,可以支持线程池上下文信息传递
-
多配置中心支持:基于主流配置中心实现线程池参数动态调整,实时生效,已支持 Nacos、Apollo、Zookeeper、Consul、Etcd、Polaris、ServiceComb,同时也提供 SPI 接口可自定义扩展实现
-
中间件线程池管理:集成管理常用第三方组件的线程池,已集成 Tomcat、Jetty、Undertow、Dubbo、RocketMq、Hystrix、Grpc、Motan、Okhttp3、Brpc、Tars、SofaRpc、RabbitMq 等组件的线程池管理(调参、监控报警)
-
轻量简单:基于 SpringBoot 实现,引入 starter,接入只需简单 4 步就可完成,顺利 3 分钟搞定
-
多模式:提供了增强线程池 DtpExecutor,IO 密集型场景使用的线程池 EagerDtpExecutor,调度线程池 ScheduledDtpExecutor,有序线程池 OrderedDtpExecutor,可以根据业务场景选择合适的线程池
-
兼容性:JUC 普通线程池和 Spring 中的 ThreadPoolTaskExecutor 也可以被框架管理,@Bean 定义时加 @DynamicTp 注解即可
-
可靠性:框架提供的线程池实现 Spring 生命周期方法,可以在 Spring 容器关闭前尽可能多的处理队列中的任务
-
高可扩展:框架核心功能都提供 SPI 接口供用户自定义个性化实现(配置中心、配置文件解析、通知告警、监控数据采集、任务包装等等)
-
线上大规模应用:参考美团线程池实践,美团内部已经有该理论成熟的应用经验
v1.1.4 发版记录
-
支持 Spring 项目,SpringBoot 相关特性只在 starter 模块引入,@dragon-zhang
-
添加 jvmti 黑科技模块,方便集成管理各种三方包线程池,@dragon-zhang
-
升级 VariableLinkedBlockingQueue 到 jdk1.8 的 LinkedBlockingQueue 的实现,@yanhom
-
添加插件机制,基于此可以对框架做自定义开发扩展,@WindSearcher
-
细化告警配置,支持不同告警项配置不同接受人,@kyao
-
通知告警平台支持云之家,@chunhui\_lu
-
支持 SpringBoot 1.x,@yanhom
-
第三方线程池(tomcat、undertow、dubbo、rocketmq、okhttp3 等等)支持 run\_timeout、queue\_timeout、reject 告警,@kyao,@yanhom
-
-
提供 Aware 扩展,可以扩展自定义线程池执行过程,@kyao
-
监控数据新增线程池别名,@zhifei
Bugfix
-
修复 Tomcat 高低版本兼容性报错问题,@yanhom
-
修复其他 agent 增强线程池后,强转 DtpRunnable 失败的问题,@yanhom
-
修复企微告警无@提醒的问题,@yanhom
-
修复企微告警配置多个接受人不能正确@的问题,@KamToHung
-
修复钉钉告警不能@所有人问题,@chenan
-
修复因 Bean 初始化顺序不确定导致的 ApplicationContextHolder npe 问题,@yanhom
-
修复修复拒绝策略为 CallerRunsPolicy 时,MdcRunnable 会删除主线程 mdc 信息的问题,@kyao
Optimize
-
优化 dtp 内部 spi 的使用,统一封装管理,@peachyy
-
部分代码优化重构,@yanhom,@KamToHung,@dragon-zhang,@kyao
-
告警信息优化,trace 信息可以自己扩展,集成内部 ELK 等平台,@yanhom
-
项目地址
gitee 地址:https://gitee.com/dromara/dynamic-tp
github 地址:https://github.com/dromara/dynamic-tp
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
更好的用户体验, 开源实时监控 v1.4.1 发布
哈喽大家好,时间很快两个月又过去了,HertzBeat 经过近两个月的迭代终于发布了 v1.4.1 版本。为什么是终于,因为有点难哈哈。我们参考 rocketmq 重构了 netty 的 server client 端模块,重构了采集器集群调度。比起上一版本有了更优雅的通讯代码,更完善全面的集群。 采集任务一致性hash调度,集群心跳保活,断开主动重连,主动上线下线,主动停机等等这些都有。设计了新的控制台登陆界面和欢迎页面,支持了采集器集群的UI管理,合并了开源之夏两位同学的帮助提示头特性和阈值表达式特性,很多用户需要的监控指标名称国际化等等,最重要的当然是修复若干BUG,增强了用户体验(自我感觉良好)。 总结起来如下: 重构netty client server, 采集器集群调度 感谢 @Ceilzcx @tomsun28 采集器集群的UI界面管理 感谢 @Ceilzcx @tomsun28 功能页面帮助信息模块和阈值表达式增强 开源之夏和GLCC课题 感谢 @YutingNie @mikezzb 新的控制台登陆界面和欢迎页面 监控指标名称国际化 用户可以看指标的中英文名称啦,欢迎一...
- 下一篇
【店滴云】民宿物联网业务管理系统拥抱 hyperf
店滴云民宿管理系统1.4发布,借助hyperf提升物联网响应速度 我们很高兴地宣布,店滴云民宿管理系统迎来了1.4版本的重要更新!本次更新旨在优化系统性能,提升用户体验,并借助hyperf框架加快物联网响应速度。 在本次更新中,我们重点关注了用户体验的提升。首先,我们新增了用户角色管理功能,允许房东和房客创建个人资料,从而更好地管理住宿预订和住宿体验。同时,我们优化了系统界面,使之更加简洁易用,帮助用户更快速地找到所需功能。 在性能方面,我们借助hyperf框架对物联网响应速度进行了优化。通过引入并行处理和异步操作,我们显著提高了系统吞吐量和响应速度。这意味着用户可以更快地获取设备状态、实时数据等信息,从而更高效地管理民宿运营。 为帮助用户更好地理解和使用更新后的系统,我们准备了详细的用户指南。在指南中,我们将引导用户完成系统配置、角色设定、设备连接等操作,并提供常见问题解答。请用户在升级前确保充分了解并掌握使用方法,以最大程度地发挥新版本系统的优势。 总之,店滴云民宿管理系统1.4版本的更新为用户带来了诸多新功能和性能优化。我们相信,借助本次更新,用户将能更高效地管理民宿运营,并获得...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2整合Redis,开启缓存,提高访问速度
- Red5直播服务器,属于Java语言的直播服务器
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- SpringBoot2全家桶,快速入门学习开发网站教程
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- Linux系统CentOS6、CentOS7手动修改IP地址
- CentOS关闭SELinux安全模块