【开源自荐】hippo4j,强大的动态线程池框架,附带监控报警功能
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 1/5
- Tiempo estimado
- Menos de una hora
- Aptitud para principiantes
- 20/100
- Tipo de issue
- Documentación
- Claridad
- Necesita aclaración
- Estado de actividad
- Estancado
- Stack tecnológico
- java
- Área
- content, documentation
Línea de trabajo
Este issue es una autorrecomendación del proyecto para el repositorio awesome-java, sin que se haya identificado un archivo de destino, una prueba ni un punto de entrada. Revisa el formato de contribución del repositorio antes de decidir si debe añadirse la descripción de hippo4j; el issue no define cuándo se considera completado.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Guide 哥好,自荐下我开源的动态线程池框架:hippo4j
推荐项目
-
类别:Java
-
亮点:
- 多种模式 - 支持基于配置中心的轻量级依赖,以及自带控制台的无依赖中间件版本。
- 全局管控 - 通过 hippo4j 管理应用中的线程池,避免胡乱定义线程池,造成项目资源浪费。
- 动态变更 - 应用运行时动态变更线程池参数,并支持某一个实例变更。
- 通知报警 - 内置四种报警通知策略,线程池活跃度、容量水位、拒绝策略以及任务执行时间超长。
- 运行监控 - 实时查看线程池运行时数据,以及最近半小时线程池运行数据图表展示。
- 中间件适配 - Alibaba Dubbo、RocketMQ、RabbitMQ、SpringCloud Hystrix、Tomcat 等线程池运行时数据查看和线程数变更。
-
示例代码:
定义动态线程池:
@Bean
@DynamicThreadPool
public Executor sendMessageConsumeDynamicThreadPool() {
String threadPoolId = "send-message-consume";
ThreadPoolExecutor sendMessageConsume = ThreadPoolBuilder.builder()
.threadPoolId(threadPoolId)
.threadFactory(threadPoolId)
.dynamicPool()
.build();
return sendMessageConsume;
}
使用动态线程池:
@Resource
private Executor sendMessageConsumeDynamicThreadPool;
- 截图:


-
后续更新计划:
- 线程池参数动态变更时,判断当前容器 CPU 占比,过高则提示操作者是否继续修改。
- 线程池参数动态变更时,加入审核机制;变更后将该配置持久化,方便配置回滚。
- 控制台和报警通知加入国际化支持。
- 支持 H2 数据库,通过 Docker 快速部署服务,不需要依赖其它数据库。
- 支持 Dubbo EagerThreadPoolExecutor 线程池模型。
- 支持 Etcd、Consul 配置中心动态调整参数。
- Lenguaje dominante
- Sin datos de lenguaje
- Estrellas
- 9.6k
- Forks
- 1.6k
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Guía de contribución
No hay ninguna guía de contribución indexada para este repositorio
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de CodingDocs/awesome-java
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 35/100
CodingDocs/awesome-java#37 · 2 comentarios ·
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 25/100
CodingDocs/awesome-java#36 · 7 comentarios ·
-
【开源自荐】中台扩展点-插件化框架 Abierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 25/100
CodingDocs/awesome-java#35 · 1 comentario ·
-
【开源自荐】AI时间线 Abierto
Dificultad 2/5 Menos de una hora Aptitud para principiantes 20/100
CodingDocs/awesome-java#32 · 1 comentario ·
-
【开源自荐】Crane4j,强大又好用的数据填充框架 Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 30/100
CodingDocs/awesome-java#31 · 1 comentario ·
Todos los issues de CodingDocs/awesome-java
Issues similares
-
[Bug] Header pattern can't find its navigation menu, and the menu needs a better default name Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
-
Link Checker Report Abiertoautomated issue report
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
-
[Author] @scrapertweeter3-prog Abierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 90/100
shanselman/TinyToolTown#815 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
-
[SHOWCASE]: iritvik.com Abierto3 star needs images needs review showcase
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100