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
longtai b1229956f2
Merge pull request #37 from HeyFL/develop
3 years ago
hippo4j-auth 添加线程池核心线程超时, 重构代码. 3 years ago
hippo4j-common 服务端尝试更新一个不存在的线程池实例时, 通过抛异常处理. (#30) 3 years ago
hippo4j-config 线程实例监控取值应取最新的一个运行日志 3 years ago
hippo4j-console 前端项目迭代更新. 3 years ago
hippo4j-discovery 客户端优雅停机时, 请求服务端删除配置缓存. 3 years ago
hippo4j-example 更新示例项目线程睡眠方案. 3 years ago
hippo4j-server 变更数据库初始化文件. 3 years ago
hippo4j-spring-boot-starter 解决包装器类型启动时注册线程池不实时问题. 3 years ago
hippo4j-tools 忽略 javax.jms 包 3 years ago
.gitignore first commit 4 years ago
LICENSE Change license. 3 years ago
README.md Update README.md 3 years ago
pom.xml 使用 Jackson 替换 FastJson 组件. (#25) 3 years ago

README.md

GitHub LICENSE

Hippo4J 介绍

  • Hippo4J 是基于 美团线程池 设计理念开发,针对线程池展开的动态调参、监控、报警
  • C/S 架构部署使用。部署 Server 端SpringBoot 项目引入 Starter 与之交互
  • 通过 Web 控制台对线程池参数进行动态调整,同时支持集群内线程池的差异化配置
  • Starter 组件内置线程池参数变更通知,以及运行过载报警功能(支持多通知平台)

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

举个例子,小编在一家公司的公共组件团队,团队中负责消息、短链接网关等项目。公共组件是租户,消息或短链接就是项目

解决什么问题

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

  • 频繁抛出拒绝策略 :核心线程过小,阻塞队列过小,最大线程过小
  • 线程处理速度下降 :核心线程过小,阻塞队列过小,最大线程过大
  • 任务堆积 :核心线程过小,阻塞队列过大
  • 空闲线程资源浪费 :核心线程或最大线程过大
  • 线程池执行不可知 :线程池运行过程中无法得知具体的参数信息,包括不限于任务调度及拒绝策略执行次数

模块介绍

  • hippo4j-auth:用户、角色、权限等
  • hippo4j-common:多个模块公用代码实现
  • hippo4j-config:提供线程池准实时参数更新功能
  • hippo4j-console:对接 Web 前端项目
  • hippo4j-discovery:提供线程池项目实例注册、续约、下线等功能
  • hippo4j-spring-boot-starter:负责与 Server 端交互的依赖组件
  • hippo4j-example :示例工程
  • hippo4j-server :聚合 Server 端发布需要的模块
  • hippo4j-tools :操作日志等组件代码

快速开始

运行 Hippo4J 自带 Demo 参考文档

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

Stars 趋势

Stargazers over time

鸣谢

Hippo4J 项目基于或参考以下项目:

感谢 JetBrains 提供的免费开源 License

图片引用自lets-mica

联系我

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