Hippo-4J 通过对 JDK 线程池增强,以及扩展三方框架底层线程池等功能,为业务系统提高线上运行保障能力
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
Go to file
chen.ma a0990d18da
Optimize POM file format and related naming
3 years ago
.github/ISSUE_TEMPLATE Add issue template 3 years ago
dev-support Keep one blank line after class definition 3 years ago
hippo4j-adapter Hippo4j add three-party framework thread pool adaptation 3 years ago
hippo4j-auth Optimize POM file format and related naming 3 years ago
hippo4j-common Optimize POM file format and related naming 3 years ago
hippo4j-config Optimize POM file format and related naming 3 years ago
hippo4j-console Optimize POM file format and related naming 3 years ago
hippo4j-core Optimize POM file format and related naming 3 years ago
hippo4j-discovery Optimize POM file format and related naming 3 years ago
hippo4j-example Optimize POM file format and related naming 3 years ago
hippo4j-server Optimize POM file format and related naming 3 years ago
hippo4j-spring-boot Optimize POM file format and related naming 3 years ago
hippo4j-tool Modify hippo4j tool module naming 3 years ago
.gitignore Ignore plug-ins 3 years ago
LICENSE Change license. 3 years ago
README.md Update alarm notification picture 3 years ago
pom.xml Optimize POM file format and related naming 3 years ago

README.md

Gitee GitHub LICENSE

Hippo-4J

Hippo-4J 基于 美团动态线程池 设计理念开发,针对线程池增强 动态调参、监控、报警功能

通过 Web 控制台对线程池参数进行动态调整,支持 集群内线程池的差异化配置。内置线程池参数变更通知,以及 运行过载报警 功能(支持多通知平台)。

按照租户、项目、线程池的维度划分,配合系统权限,让不同的开发、管理人员负责自己系统的线程池。

1.1.0 版本发布后Hippo-4J 分为两种使用模式:轻量级依赖配置中心以及无中间件依赖版本。

hippo4j-core

轻量级动态线程池管理,依赖 Apollo、Nacos、Zookeeper 等三方配置中心(任选其一)完成线程池参数动态变更,支持运行时报警、监控等功能。

监控功能配置详见:线程池监控

hippo4j-server

部署 hippo4j-server 服务,通过可视化 Web 界面完成线程池的创建、变更以及查看,不依赖三方中间件。

相比较 hippo4j-core功能会更强大但同时也引入了一定的复杂性。需要部署一个 Java 服务,以及依赖 MySQL 数据库。

使用总结

hippo4j-core hippo4j-server
依赖 Nacos、Apollo、Zookeeper 配置中心(任选其一) 部署 Hippo-4J Server内部无依赖中间件
使用 配置中心补充线程池相关参数 Hippo-4J Server Web 控制台添加线程池记录
功能 包含基础功能:参数动态化、运行时监控、报警等 基础功能之外扩展控制台界面、线程池堆栈查看、线程池运行信息实时查看、历史运行信息查看、线程池配置集群个性化等

使用建议:根据公司情况选择,如果基本功能可以满足使用,选择 hippo4j-core 使用即可;如果希望更多的功能,可以选择 hippo4j-server。

两者在进行替换的时候,无需修改业务代码

解决什么问题

简单来说Hippo-4J 主要为我们解决了下面这些使用原生线程池存在的问题:

原生线程池 Hippo-4J 增强后
线程池管理 管理应用所有线程池
运行负载报警 内置四种报警策略,通过群机器人推送报警信息
运行时数据查看 线程池数据实时查看,以及最近半小时运行图表展示
线程池修改参数 需重启应用 应用运行时动态变更线程池参数
线程池优雅关闭 应用内需扩展 支持在指定时间内等待任务完成
线程池上下文传递 应用内需扩展 支持上下文传递

报警通知

Hippo-4J 已接入钉钉、企业微信以及飞书平台,提供了 线程池参数变更通知运行时报警 功能。示例如下:


配置变更


报警通知

快速开始

运行 Hippo-4J 自带 Demo 参考文档

在线体验地址 用户名密码hippo4j / hippo4j

联系我

对于这个项目,是否有什么不一样看法,同 作者 或者创建 Issues 沟通。

公众号

如果大家想要实时关注 Hippo-4J 最新动态以及干货分享的话,可以关注我的公众号。

Stars 趋势

Stargazers over time

友情链接

  • JavaGuide「Java学习+面试指南」一份涵盖大部分 Java 程序员所需要掌握的核心知识。准备 Java 面试,首选 JavaGuide
  • Guide-Rpc-FrameworkA custom RPC framework implemented by Netty+Kyro+Zookeeper.(一款基于 Netty+Kyro+Zookeeper 实现的自定义 RPC 框架-附详细实现过程和相关教程。)
  • toBeBetterJavaerJava 程序员进阶之路,据说每一个优秀的 Java 程序员都喜欢她,风趣幽默、通俗易懂。内容包括 Java 基础、Java 并发编程、Java 虚拟机、Java 企业级开发、Java 面试等核心知识点
  • Austin:消息推送平台📝 推送下发【邮件】【短信】【微信服务号】【微信小程序】等消息类型。所使用的技术栈包括SpringBoot、SpringDataJPA、MySQL、Docker、docker-compose、Kafka、Redis、Apollo、prometheus、Grafana、GrayLog、Flink、Xxl-job、Echarts等等

鸣谢

Hippo-4J 项目基于或参考以下项目:NacosEurekaMzt-Biz-LogEquator

感谢 JetBrains 提供的免费开源 License

图片引用自lets-mica