详情介绍
hippo4j是一个强大的动态线程池框架,附带监控报警功能。支持 JDK、Tomcat、Jetty、Undertow 线程池;Dubbo、Dubbox、RabbitMQ、RocketMQ、Hystrix 消费线程池(更多框架线程池还在适配中)。内置两种使用模式:轻量级依赖配置中心以及无中间件依赖版本。
线程池痛点
线程池是一种基于池化思想管理线程的工具,使用线程池可以减少创建销毁线程的开销,避免线程过多导致系统资源耗尽。在高并发以及大批量的任务处理场景,线程池的使用是必不可少的。
如果有在项目中实际使用线程池,相信你可能会遇到以下痛点:
1、线程池随便定义,线程资源过多,造成服务器高负载。
2、线程池参数不易评估,随着业务的并发提升,业务面临出现故障的风险。
3、线程池任务执行时间超过平均执行周期,开发人员无法感知。
4、线程池任务堆积,触发拒绝策略,影响既有业务正常运行。
5、当业务出现超时、熔断等问题时,因为没有监控,无法确定是不是线程池引起。
6、原生线程池不支持运行时变量的传递,比如 MDC 上下文遇到线程池就 GG。
7、无法执行优雅关闭,当项目关闭时,大量正在运行的线程池任务被丢弃。
8、线程池运行中,任务执行停止,怀疑发生死锁或执行耗时操作,但是无从下手。
什么是 Hippo4j
提供以下功能支持:
1、全局管控 - 管理应用线程池实例。
2、动态变更 - 应用运行时动态变更线程池参数,包括但不限于:核心、最大线程数、阻塞队列容量、拒绝策略等。
3、通知报警 - 内置四种报警通知策略,线程池活跃度、容量水位、拒绝策略以及任务执行时间超长。
4、数据采集 - 支持多种方式采集线程池数据,包括但不限于:日志、内置采集、Prometheus、InfluxDB、ElasticSearch 等。
5、运行监控 - 实时查看线程池运行时数据,自定义时间内线程池运行数据图表展示。
6、功能扩展 - 支持线程池任务传递上下文;项目关闭时,支持等待线程池在指定时间内完成任务。
7、多种模式 - 内置两种使用模式:依赖配置中心 和 无中间件依赖。
8、容器管理 - Tomcat、Jetty、Undertow 容器线程池运行时查看和线程数变更。
9、框架适配 - Dubbo、Hystrix、RabbitMQ、RocketMQ 等消费线程池运行时数据查看和线程数变更。
10、变更审核 - 提供多种用户角色,普通用户变更线程池参数需要 Admin 用户审核方可生效。
11、动态化插件 - 内置多种线程池插件,支持用户自定义插件以及运行时扩展。
12、多版本适配 - 经过实际测试,已支持客户端 SpringBoot 1.5.x => 2.7.5 版本(更高版本未测试)。
v1.5.0 更新内容
这是一个功能增强版本,修复了少量 BUG。建议按照当前版本升级。具体信息可查看 Release 标签地址:1.4.3
Use Change
重构线程池监控,配置层级和命名改变
如果使用钉钉报警,关键字【警报】修改为【告警】
Feature
重构 Spring 后置处理器创建动态线程池逻辑
官网开启多版本化功能
官网支持国际化,en-US
适配线程池延迟初始化
添加 Codecov 相关代码覆盖率指标
项目优雅关闭时停止运行状态采集
Refactor
DynamicThreadPoolExecutor 重构,增加插件扩展逻辑
重构线程池监控,新增容器和三方框架线程池监控
重构服务端包目录,聚合 hippo4j-server 相关 module
Bug
dubbo 线程池无法获取运行信息
线程池检查活跃度报警取值错误
动态线程池修改多次后队列提示信息丢失
docker部署 mysql启动报错H2驱动
docker-startup.sh的mysql配置多个“-”
动态注册线程池队列容量赋值错误
飞书超时类型告警不存在 Trace 信息时发送错误
Optimize
修改报警文案,【警报】修改为【告警】
自动选择H2数据库的存储路径
服务端在客户端后面启动,依旧支持长轮训
配置未发生变更时,长轮询返回 304
discovery服务Lease类中判断过期时间需要多等一个duration
优化 ThreadPoolBuilder#maxPoolNum 核心线程不得大于最大线程
hippo4j console ui 迁移至本项目
查询 Web 线程池列表添加框架标识
优化 H2 初始化逻辑
下载地址
人气源码
相关文章
-
Java轻量级类隔离框架 SOFAArk Project v2.2.14
SOFAArk 是一款基于 Java 实现的动态热部署和轻量级类隔离框架,由蚂蚁集团开源贡献,主要提供应用模块的动态热部署和类隔离能力。欢迎需要的朋友下载使用...
-
SpringBlade微服务开发平台 v4.2.0
SpringBlade 是一个由商业级项目升级优化而来的SpringCloud分布式微服务架构、SpringBoot单体式微服务架构并存的综合型项目,采用Java8 API重构了业务代码,完全遵循阿里巴...
-
Diboot轻代码开发平台 v2.11.0
Diboot轻代码开发平台是一个面向开发人员的低代码开发平台,将重复性的工作自动化,提高质量、效率、可维护性...
-
RuoYi-activiti工作流平台源码 v4.1
RuoYi-activiti是一款以若依开源权限管理系统为基础开发平台并集成了activiti框架完成的工作流系统,旨在打造集流程设计、流程部署、流程执行、任务办理、流程监控于一体的...
-
RuoYi若依权限管理系统 v4.7.9
RuoYi若依权限管理系统是一个基于SpringBoot的权限管理系统,代码易读易懂、界面简洁美观, 核心技术采用Spring、MyBatis、Shiro没有任何其它重度依赖,喜欢的朋友快来下载...
-
Java Struts2漏洞复现工具
今天给大家分享Java Struts2漏洞复现工具,喜欢的朋友快来下载体验吧...
-
java操作excel的jar包(jxl.jar包 源码)
jxl.jar是通过java操作excel表格的工具类库,能够修饰单元格属性,是由java语言开发而成的,接下来通过本文给大家介绍java操作excel的jar包(jxl.jar包 源码),喜欢的朋友快...
-
springboot整合QuartJob实现定时器实时管理源代码
Quartz是一个完全由java编写的开源作业调度框架,形式简易,功能强大,,下面给大家分享springboot整合QuartJob实现定时器实时管理源代码,感兴趣的朋友快来下载体验吧...
-
SOFABoot开源框架 v3.24.0
SOFABoot 是蚂蚁集团开源的基于 Spring Boot 的研发框架,它在 Spring Boot 的基础上,提供了诸如 Readiness Check,上下文隔离,类隔离,日志空间隔离等等能力...
-
基于SSM的应急资源管理系统源码 v1.0
应急资源管理系统用的是是比较流行的SSM和前端JSP技术,用它来创建使用脚本语言,结合HTML代码来制作动态 网页,欢迎需要的朋友下载使用...
下载声明
☉ 解压密码:www.jb51.net 就是本站主域名,希望大家看清楚,[ 分享码的获取方法 ]可以参考这篇文章
☉ 推荐使用 [ 迅雷 ] 下载,使用 [ WinRAR v5 ] 以上版本解压本站软件。
☉ 如果这个软件总是不能下载的请在评论中留言,我们会尽快修复,谢谢!
☉ 下载本站资源,如果服务器暂不能下载请过一段时间重试!或者多试试几个下载地址
☉ 如果遇到什么问题,请评论留言,我们定会解决问题,谢谢大家支持!
☉ 本站提供的一些商业软件是供学习研究之用,如用于商业用途,请购买正版。
☉ 本站提供的hippo4j动态线程池框架 v1.5.0资源来源互联网,版权归该下载资源的合法拥有者所有。