CS-Wiki CS-Wiki
Home
知识体系总览
  • 数据结构与算法
  • 计算机网络
  • 操作系统
  • MySQL
  • Redis
  • 设计模式
  • Java 基础
  • Java 集合
  • Java 并发
  • Java 虚拟机
  • Spring
  • Kafka
  • 校招扫盲
  • 项目推荐
  • 唠唠嗑儿
  • 读书笔记
归档
GitHub (opens new window)
Home
知识体系总览
  • 数据结构与算法
  • 计算机网络
  • 操作系统
  • MySQL
  • Redis
  • 设计模式
  • Java 基础
  • Java 集合
  • Java 并发
  • Java 虚拟机
  • Spring
  • Kafka
  • 校招扫盲
  • 项目推荐
  • 唠唠嗑儿
  • 读书笔记
归档
GitHub (opens new window)
  • Java 项目推荐总览
  • Java 项目推荐:超全文档,造轮子,轻量级 Java 权限认证框架
  • Java 项目推荐:生态完善,轻量级脚手架,后台权限管理系统
  • 这不比千篇一律的商城系统香,大型分布式微服务聚合支付项目
  • 项目推荐:手写数据库,简历上有这不得让人眼前一亮
  • 别在简历上写 CRUD 项目了,来个动态线程池不香吗
    • 动态线程池 1:DynamicTp
    • 动态线程池 2:Hippo4j
  • 我掏出这个多线程轮子,面试官直接全体起立
  • 200-项目推荐
小牛肉
2023-03-20
目录

别在简历上写 CRUD 项目了,来个动态线程池不香吗

又到了项目推荐专栏啦,相比于业务类项目,轮子类项目或者工具类项目其实会更受欢迎,今天推荐两款动态线程池,文档都都比较全。目前开源的动态线程池也不算少,其实都是基于美团的那个思路,底层原理不算很难,所以上手难度比较低,算是性价比很高的项目了。

# 动态线程池 1:DynamicTp

项目地址:

  • Github:https://github.com/dromara/dynamic-tp
  • 教程地址:https://dynamictp.cn/guide/other/articles.html

项目架构:

项目简介:基于配置中心的轻量级动态线程池,内置监控告警功能,集成常用中间件线程池管理,可通过SPI自定义扩展实现,目前最新版本 v1.1.0 具有以下特性

  • 代码零侵入
  • 通知告警:已支持企业微信、钉钉、飞书、邮件报警,同时提供 SPI 接口可自定义扩展实现
  • 运行监控:定时采集线程池指标数据,支持通过 MicroMeter、JsonLog 日志输出、Endpoint 三种方式,可通过 SPI 接口自定义扩展实现
  • 任务增强:提供任务包装功能
  • 多配置中心支持:已支持 Nacos、Apollo、Zookeeper、Consul、Etcd、Polaris,同时也提供 SPI 接口可自定义扩展实现
  • 中间件线程池管理:集成管理常用第三方组件的线程池,已集成 Tomcat、Jetty、Undertow、Dubbo、RocketMq、Hystrix、Grpc、Motan、Okhttp3、Brpc、Tars、SofaRpc、RabbitMq 等组件的线程池管理(调参、监控报警)
  • 轻量简单:基于 SpringBoot 实现,引入 starter,接入只需简单 4 步就可完成,顺利 3 分钟搞定
  • 多模式:参考 Tomcat 线程池提供了 IO 密集型场景使用的 EagerDtpExecutor 线程池
  • 兼容性:JUC 普通线程池和 Spring 中的 ThreadPoolTaskExecutor 也可以被框架监控,@Bean 定义时加 @DynamicTp 注解即可
  • 可靠性:框架提供的线程池实现 Spring 生命周期方法,可以在 Spring 容器关闭前尽可能多的处理队列中的任务
  • 高可扩展:框架核心功能都提供 SPI 接口供用户自定义个性化实现(配置中心、配置文件解析、通知告警、监控数据采集、任务包装等等)

代码结构:

# 动态线程池 2:Hippo4j

项目地址:

  • Github:https://github.com/opengoofy/hippo4j
  • 教程地址:https://hippo4j.cn/docs/user_docs/intro

项目架构:

项目简介:动态可观测线程池,提高系统运行保障能力,提供以下功能支持:

  • 全局管控 - 管理应用线程池实例。
  • 动态变更 - 应用运行时动态变更线程池参数,包括但不限于:核心、最大线程数、阻塞队列容量、拒绝策略等。
  • 通知报警 - 内置四种报警通知策略,线程池活跃度、容量水位、拒绝策略以及任务执行时间超长。
  • 数据采集 - 支持多种方式采集线程池数据,包括但不限于:日志、内置采集、Prometheus、InfluxDB、ElasticSearch 等。
  • 运行监控 - 实时查看线程池运行时数据,自定义时间内线程池运行数据图表展示。
  • 功能扩展 - 支持线程池任务传递上下文;项目关闭时,支持等待线程池在指定时间内完成任务。
  • 多种模式 - 内置两种使用模式:依赖配置中心 和 无中间件依赖。
  • 容器管理 - Tomcat、Jetty、Undertow 容器线程池运行时查看和线程数变更。
  • 框架适配 - Dubbo、Hystrix、RabbitMQ、RocketMQ 等消费线程池运行时数据查看和线程数变更。
  • 变更审核 - 提供多种用户角色,普通用户变更线程池参数需要 Admin 用户审核方可生效。
  • 动态化插件 - 内置多种线程池插件,支持用户自定义插件以及运行时扩展。
  • 多版本适配 - 经过实际测试,已支持客户端 SpringBoot 1.5.x => 2.7.5 版本(更高版本未测试)

🎁 公众号

各位小伙伴大家好呀,叫我小牛肉就行,目前在读东南大学硕士,上方扫码关注公众号「飞天小牛肉」,与你分享我的成长历程与技术感悟~

帮助小牛肉改善此页面 (opens new window)
Last Updated: 2023/03/22, 20:49:50
项目推荐:手写数据库,简历上有这不得让人眼前一亮
我掏出这个多线程轮子,面试官直接全体起立

← 项目推荐:手写数据库,简历上有这不得让人眼前一亮 我掏出这个多线程轮子,面试官直接全体起立→

最近更新
01
我掏出这个多线程轮子,面试官直接全体起立
04-13
02
面试官问你有其他 Offer 吗,该怎样回答
04-10
03
天不生陈志龙,职场万古如长夜
04-06
更多文章>
Theme by Vdoing | Copyright © 2019-2023 飞天小牛肉 | 皖ICP备2022008966号
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式