Skip to content

【开源自荐】hippo4j,强大的动态线程池框架,附带监控报警功能 #25

@magestacks

Description

@magestacks

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 配置中心动态调整参数。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions