- 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 / hippo4j
对于这个项目,是否有什么不一样看法,同 作者 或者创建 Issues 沟通
Hippo4J 项目基于或参考以下项目:
- Nacos:an easy-to-use dynamic service discovery, configuration and service management platform for building cloud native applications.
- Eureka:AWS Service registry for resilient mid-tier load balancing and failover.
- ShardingSphere:Build criterion and ecosystem above multi-model databases.
- mzt-biz-log:支持 Springboot,基于注解的可使用变量、可以自定义函数的通用操作日志组件.
- equator:一个用于比较两个对象的所有属性是否全部相等,并且可以获取所有不相等的属性的比对器.