![](https://images-machen.oss-cn-beijing.aliyuncs.com/hippo4j-logo-logoly.png)
## Hippo-4J Hippo-4J 基于 **美团动态线程池** 设计理念开发,针对线程池增强 **动态调参、监控、报警功能**。 通过 Web 控制台对线程池参数进行动态调整,支持 **集群内线程池的差异化配置**。内置线程池参数变更通知,以及 **运行过载报警** 功能(支持多通知平台)。 按照租户、项目、线程池的维度划分,配合系统权限,让不同的开发、管理人员负责自己系统的线程池。 1.1.0 版本发布后,Hippo-4J 分为两种使用模式:轻量级依赖配置中心以及无中间件依赖版本。 ![](https://images-machen.oss-cn-beijing.aliyuncs.com/image-20220319154626314.png) ### hippo4j-core **轻量级动态线程池管理**,依赖 Apollo、Nacos、Zookeeper 等三方配置中心(任选其一)完成线程池参数动态变更,支持运行时报警、监控等功能。 > 监控功能配置详见:[线程池监控](https://hippo4j.cn/pages/2f67ll) ![](https://images-machen.oss-cn-beijing.aliyuncs.com/image-202203271737049821.png) ### hippo4j-server **部署 hippo4j-server 服务**,通过可视化 Web 界面完成线程池的创建、变更以及查看,不依赖三方中间件。 相比较 hippo4j-core,功能会更强大,但同时也引入了一定的复杂性。需要部署一个 Java 服务,以及依赖 MySQL 数据库。 ![](https://images-machen.oss-cn-beijing.aliyuncs.com/1644032018254-min.gif) ### 使用总结 | | hippo4j-core | hippo4j-server | | ---- | ---------------------------------------------------- | ------------------------------------------------------------ | | 依赖 | Nacos、Apollo、Zookeeper 配置中心(任选其一) | 部署 Hippo-4J Server(内部无依赖中间件) | | 使用 | 配置中心补充线程池相关参数 | Hippo-4J Server Web 控制台添加线程池记录 | | 功能 | 包含基础功能:参数动态化、运行时监控、报警等 | 基础功能之外扩展控制台界面、线程池堆栈查看、线程池运行信息实时查看、历史运行信息查看、线程池配置集群个性化等 | 使用建议:根据公司情况选择,如果基本功能可以满足使用,选择 hippo4j-core 使用即可;如果希望更多的功能,可以选择 hippo4j-server。 **两者在进行替换的时候,无需修改业务代码**。 ## 解决什么问题 简单来说,Hippo-4J 主要为我们解决了下面这些使用原生线程池存在的问题: | | 原生线程池 | Hippo-4J 增强后 | | ---------------- | ------------ | ---------------------------------------------- | | 线程池管理 | 无 | 管理应用所有线程池 | | 运行负载报警 | 无 | 内置四种报警策略,通过群机器人推送报警信息 | | 运行时数据查看 | 无 | 线程池数据实时查看,以及最近半小时运行图表展示 | | 线程池修改参数 | 需重启应用 | 应用运行时动态变更线程池参数 | | 线程池优雅关闭 | 应用内需扩展 | 支持在指定时间内等待任务完成 | | 线程池上下文传递 | 应用内需扩展 | 支持上下文传递 | ## 报警通知 Hippo-4J 已接入钉钉、企业微信以及飞书平台,提供了 **线程池参数变更通知** 和 **运行时报警** 功能。示例如下:
配置变更 |
报警通知 |