Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
magestacks opened this issue Sep 15, 2022 · 2 comments

Comments

@magestacks
Copy link

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

jerriliu commented Sep 15, 2022 via email

@Snailclimb
Copy link
Collaborator

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

感谢大佬自荐!会尽快添加进去。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants