|
|
|
@ -15,15 +15,15 @@
|
|
|
|
|
</a>
|
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
## Hippo4J
|
|
|
|
|
## Hippo-4J
|
|
|
|
|
|
|
|
|
|
Hippo4J 基于 **美团动态线程池** 设计理念开发,针对线程池增强 **动态调参、监控、报警功能**。
|
|
|
|
|
Hippo-4J 基于 **美团动态线程池** 设计理念开发,针对线程池增强 **动态调参、监控、报警功能**。
|
|
|
|
|
|
|
|
|
|
通过 Web 控制台对线程池参数进行动态调整,支持 **集群内线程池的差异化配置**。内置线程池参数变更通知,以及 **运行过载报警** 功能(支持多通知平台)。
|
|
|
|
|
|
|
|
|
|
按照租户、项目、线程池的维度划分,配合系统权限,让不同的开发、管理人员负责自己系统的线程池。
|
|
|
|
|
|
|
|
|
|
1.1.0 版本发布后,Hippo4J 分为两种使用模式:轻量级依赖配置中心以及无中间件依赖版本。
|
|
|
|
|
1.1.0 版本发布后,Hippo-4J 分为两种使用模式:轻量级依赖配置中心以及无中间件依赖版本。
|
|
|
|
|
|
|
|
|
|
![](https://images-machen.oss-cn-beijing.aliyuncs.com/image-20220319154626314.png)
|
|
|
|
|
|
|
|
|
@ -47,8 +47,8 @@ Hippo4J 基于 **美团动态线程池** 设计理念开发,针对线程池增
|
|
|
|
|
|
|
|
|
|
| | hippo4j-core | hippo4j-server |
|
|
|
|
|
| ---- | ---------------------------------------------------- | ------------------------------------------------------------ |
|
|
|
|
|
| 依赖 | Nacos、Apollo、Zookeeper 等配置中心(任选其一) | 部署 Hippo4J Server(内部无依赖中间件) |
|
|
|
|
|
| 使用 | 配置中心补充线程池相关参数 | Hippo4J Server Web 控制台添加线程池记录 |
|
|
|
|
|
| 依赖 | Nacos、Apollo、Zookeeper 配置中心(任选其一) | 部署 Hippo-4J Server(内部无依赖中间件) |
|
|
|
|
|
| 使用 | 配置中心补充线程池相关参数 | Hippo-4J Server Web 控制台添加线程池记录 |
|
|
|
|
|
| 功能 | 包含基础功能:参数动态化、运行时监控、报警等 | 基础功能之外扩展控制台界面、线程池堆栈查看、线程池运行信息实时查看、历史运行信息查看、线程池配置集群个性化等 |
|
|
|
|
|
|
|
|
|
|
使用建议:根据公司情况选择,如果基本功能可以满足使用,选择 hippo4j-core 使用即可;如果希望更多的功能,可以选择 hippo4j-server。
|
|
|
|
@ -57,16 +57,20 @@ Hippo4J 基于 **美团动态线程池** 设计理念开发,针对线程池增
|
|
|
|
|
|
|
|
|
|
## 解决什么问题
|
|
|
|
|
|
|
|
|
|
简单来说,Hippo4J 主要为我们解决了下面这些使用原生线程池存在的问题:
|
|
|
|
|
简单来说,Hippo-4J 主要为我们解决了下面这些使用原生线程池存在的问题:
|
|
|
|
|
|
|
|
|
|
- **原生线程池创建时无法合理评估参数问题**。比如功能使用到线程池,遇到突发流量洪峰,频繁拒绝任务。Hippo4J 提供动态修改参数功能,**避免修改线程池参数后重启线上应用**;
|
|
|
|
|
- 当线程池运行过程中无法再接受新的任务,此时你想知道 **线程池内线程都在做什么**?Hippo4J 提供查看线程池堆栈功能;
|
|
|
|
|
- 某接口频繁超时,内部依赖线程池执行,想要 **查看过去一段时间线程池运行参数情况**。Hippo4J 提供历史数据图表查看功能;
|
|
|
|
|
- **原生线程池无任务报警策略**。Hippo4J 内置四种报警策略,分别是:活跃度报警、队列容量报警、拒绝策略报警和运行时间过长报警。
|
|
|
|
|
| | 原生线程池 | Hippo-4J 增强后 |
|
|
|
|
|
| ---------------- | ------------ | ---------------------------------------------- |
|
|
|
|
|
| 线程池管理 | 无 | 管理应用所有线程池 |
|
|
|
|
|
| 运行负载报警 | 无 | 内置四种报警策略,通过群机器人推送报警信息 |
|
|
|
|
|
| 运行时数据查看 | 无 | 线程池数据实时查看,以及最近半小时运行图表展示 |
|
|
|
|
|
| 线程池修改参数 | 需重启应用 | 应用运行时动态变更线程池参数 |
|
|
|
|
|
| 线程池优雅关闭 | 应用内需扩展 | 支持在指定时间内等待任务完成 |
|
|
|
|
|
| 线程池上下文传递 | 应用内需扩展 | 支持上下文传递 |
|
|
|
|
|
|
|
|
|
|
## 报警通知
|
|
|
|
|
|
|
|
|
|
Hippo4J 已接入钉钉、企业微信以及飞书平台,提供了 **线程池参数变更通知** 和 **运行时报警** 功能。示例如下:
|
|
|
|
|
Hippo-4J 已接入钉钉、企业微信以及飞书平台,提供了 **线程池参数变更通知** 和 **运行时报警** 功能。示例如下:
|
|
|
|
|
|
|
|
|
|
<table>
|
|
|
|
|
<tr>
|
|
|
|
@ -87,7 +91,7 @@ Hippo4J 已接入钉钉、企业微信以及飞书平台,提供了 **线程池
|
|
|
|
|
|
|
|
|
|
## 快速开始
|
|
|
|
|
|
|
|
|
|
[运行 Hippo4J 自带 Demo 参考文档](https://hippo4j.cn/pages/793dcb/)
|
|
|
|
|
[运行 Hippo-4J 自带 Demo 参考文档](https://hippo4j.cn/pages/793dcb/)
|
|
|
|
|
|
|
|
|
|
[在线体验地址](http://console.hippo4j.cn/index.html) 用户名密码:hippo4j / hippo4j
|
|
|
|
|
|
|
|
|
@ -99,7 +103,7 @@ Hippo4J 已接入钉钉、企业微信以及飞书平台,提供了 **线程池
|
|
|
|
|
|
|
|
|
|
## 公众号
|
|
|
|
|
|
|
|
|
|
如果大家想要实时关注 Hippo4J 最新动态以及干货分享的话,可以关注我的公众号。
|
|
|
|
|
如果大家想要实时关注 Hippo-4J 最新动态以及干货分享的话,可以关注我的公众号。
|
|
|
|
|
|
|
|
|
|
![](https://images-machen.oss-cn-beijing.aliyuncs.com/43_65f6020ed111b6bb3808ec338576bd6b.png)
|
|
|
|
|
|
|
|
|
@ -116,7 +120,7 @@ Hippo4J 已接入钉钉、企业微信以及飞书平台,提供了 **线程池
|
|
|
|
|
|
|
|
|
|
## 鸣谢
|
|
|
|
|
|
|
|
|
|
Hippo4J 项目基于或参考以下项目:[**Nacos**](https://github.com/alibaba/nacos)、[**Eureka**](https://github.com/Netflix/Eureka)、[**Mzt-Biz-Log**](https://github.com/mouzt/mzt-biz-log)、[**Equator**](https://github.com/dadiyang/equator)。
|
|
|
|
|
Hippo-4J 项目基于或参考以下项目:[**Nacos**](https://github.com/alibaba/nacos)、[**Eureka**](https://github.com/Netflix/Eureka)、[**Mzt-Biz-Log**](https://github.com/mouzt/mzt-biz-log)、[**Equator**](https://github.com/dadiyang/equator)。
|
|
|
|
|
|
|
|
|
|
感谢 JetBrains 提供的免费开源 License:
|
|
|
|
|
|
|
|
|
|