文章首发在公众号(龙台的技术笔记),之后同步到个人网站:xiaomage.info

Hippo-4J 距离上一个版本 1.2.1 已经过去一个月的时间。在此期间,由 8 位贡献者 提交了 170+ commits,正式发布 1.3.0 版本。

注:这是一个 兼容历史版本 的重大升级。

Githubhttps://github.com/mabaiwan/hippo4j

Giteehttps://gitee.com/mabaiwancn/hippo4j

HIPPO-4J 1.3.0

Feature

  1. 添加 RabbitMQ 线程池监控及动态变更
  2. 添加 RocketMQ 线程池监控及动态变更
  3. 添加 Dubbo 线程池监控及动态变更
  4. 添加 SpringCloud Stream RocketMQ 消费线程池监控及动态变更

Refactor

  1. 重构容器线程池查询及修改功能
  2. 优化配置中心触发监听后,所执行的数据变更逻辑

Optimize

  1. 前端控制台删除无用组件
  2. 服务端页面字段未显示中文
  3. 控制台 UI 优化
  4. 修改线程池实例后实时刷新列表参数
  5. 容器线程池编辑仅限 Admin 权限
  6. SpringBoot Starter 变更包路径

BUG

  1. 修复 SpringBoot Nacos 动态刷新不生效
  2. 报警配置 alarm=false 不配置通知报警平台和接收人报错

三方框架线程池适配

Hippo-4J 1.3.0 最大的功能发布就是开发出了 适配三方框架的基础框架

目前已完成 Dubbo、RabbitMQ、RocketMQ、RocketMQSpringCloudStream 的线程池适配,后续还会接入 Kafka、Hystrix 等框架或中间件的线程池适配。

引入适配三方框架 Jar 包

引入 Hippo-4J server 或 core 的 maven jar 坐标后,还需要引入对应的框架适配 jar:

<dependency>
<groupId>cn.hippo4j</groupId>
<!-- Dubbo -->
<artifactId>hippo4j-spring-boot-starter-adapter-dubbo</artifactId>
<!-- RabbitMQ -->
<artifactId>hippo4j-spring-boot-starter-adapter-rabbitmq</artifactId>
<!-- RocketMQ -->
<artifactId>hippo4j-spring-boot-starter-adapter-rocketmq</artifactId>
<!-- SpringCloud Stream RocketMQ -->
<artifactId>hippo4j-spring-boot-starter-adapter-spring-cloud-stream-rocketmq</artifactId>
<version>1.3.0</version>
</dependency>

如果想觉得引入多个 jar 包繁琐,可以仅需引入一个全量包,Hippo-4J 框架底层会根据各中间件的条件,判断加载具体线程池适配器。

<dependency>
<groupId>cn.hippo4j</groupId>
<artifactId>hippo4j-spring-boot-starter-adapter-all</artifactId>
<version>1.3.0</version>
</dependency>

HIPPO-4J Server

Hippo-4J server 引入上述适配 jar 包后,即可在 Hippo-4J server 的控制台进行查看及修改三方框架线程池。

点击编辑即可修改该 Java 应用对应的框架底层线程池。

点击 全部修改 按钮可以修改当前组下所有应用实例的线程池配置。

修改成功后,应用控制台打印以下日志,即为修改成功。

[input] RocketMQ consumption thread pool parameter change. coreSize :: 1 => 10, maximumSize :: 1 => 10

HIPPO-4J Core

Hippo-4J core 除了依赖上述适配 Jar 包外,还需要在配置中心添加以下配置项。

spring:
dynamic:
thread-pool:
# 省略其它配置
adapter-executors:
# threadPoolKey 代表线程池标识
- threadPoolKey: 'input'
# mark 为三方线程池框架类型,参见文初已支持框架集合
mark: 'RocketMQSpringCloudStream'
corePoolSize: 10
maximumPoolSize: 10

Gitee GVP

Hippo-4J 获得了一些宝贵的荣誉,这属于每一位对 Hippo-4J 做出过贡献的成员。

感谢所有为 Hippo-4J 做出贡献的开发者!

https://github.com/mabaiwan/hippo4j/graphs/contributors

最后总结

开源不易,如果各位小伙伴看了 Hippo-4J 框架后有所收获,希望能帮忙在 Github、Gitee 点个 star。

目前已有 10+ 公司在生产环境使用 Hippo-4J,如果贵公司使用了 Hippo-4J,请在下方 Issue 登记,谢谢。

Issuehttps://github.com/mabaiwan/hippo4j/issues/13

登记使用不会对公司有任何影响,仅为了扩大 Hippo-4J 影响力,帮助它能走得更远。

HIPPO-4J 1.3.0 正式发布:支持 Dubbo、RibbitMQ、RocketMQ 框架线程池的更多相关文章

  1. 记一次线上dubbo服务超时和线程池满问题排查

    线上某dubbo服务A调用dubbo服务B的接口X方法,调用端A日志中出现了很多超时的情况,提供端B该接口X超时时间设置为60s: 查看提供端B的日志,报了很多线程池满的异常: Caused by: ...

  2. 历时2月,动态线程池 DynamicTp 发布里程碑版本 V1.0.8

    关于 DynamicTp DynamicTp 是一个基于配置中心实现的轻量级动态线程池管理工具,主要功能可以总结为动态调参.通知报警.运行监控.三方包线程池管理等几大类. 经过多个版本迭代,目前最新版 ...

  3. dubbo线程池作用于接口而不是方法

    记一次线上dubbo服务超时和线程池满问题排查 可能调用的接口没问题,但是该服务中的其他接口占用完了线程池,导致调用超时被拒绝处理.

  4. Spring Boot 2.2.0 正式发布,支持 JDK 13!

    Java技术栈 www.javastack.cn 优秀的Java技术公众号 推荐阅读: Spring Boot 2.2.0 正式发布了,可从 repo.spring.io 或是 Maven Centr ...

  5. Sentinel 1.5.0 正式发布,引入 Reactive 支持

    近日,流控降级组件 Sentinel 的又一个里程碑版本 1.5.0 正式发布. 该版本引入 Reactive 的支持,并提供多项新特性与改进.从 1.5.0 版本开始,Sentinel 仅支持 JD ...

  6. 全球首发-基于.NET 6长线支持Zoomla!逐浪CMS v8.6.0正式发布

    传送门: https://www.z01.com/down/3778.shtml 全新Zoomla!逐浪CMS v8.6.0 全于首个基于.net 6长线支持的CMS-Zoomla!逐浪CMS v8. ...

  7. CoreWCF 1.0 正式发布,支持 .NET Core 和 .NET 5+ 的 WCF

    CoreWCF 1.0 正式发布,支持 .NET Core 和 .NET 5+ 的 WCF https://devblogs.microsoft.com/dotnet/corewcf-v1-relea ...

  8. 业余草分享 Spring Boot 2.0 正式发布的新特性

    就在昨天Spring Boot2.0.0.RELEASE正式发布,今天早上在发布Spring Boot2.0的时候还出现一个小插曲,将Spring Boot2.0同步到Maven仓库的时候出现了错误, ...

  9. Nacos 2.0 正式发布,性能提升了 10 倍!!

    前不久,在3月20号,Nacos 2.0.0 正式发布了!我简单看了下官方的介绍,可能nacos未来逐渐会成为各大公司作为服务治理和配置中心的主要中间件. Nacos 简介:一个更易于构建云原生应用的 ...

随机推荐

  1. SSM实现个人博客-day01

    1.需求分析 项目源码免费下载:SSM实现个人博客 有问题请询问vx:kht808

  2. Unity中制作血条2.0

    ##1.血量显示 不必像之前那样添加Slider组件 直接创建Image 在添加Source Image之后,将Image Type 修改为Filled 通过修改Fill Mode就可以显示不同效果 ...

  3. Conda安装及第一个py程序

    Conda安装及第一个py程序 安装Conda 下载安装 在Anaconda官网下载Anaconda 打开Conda安装程序 设置好安装目录(这个一定要记好,后边要用),比如我的目录就是 D:\Pro ...

  4. 国产化之 .NET Core 操作达梦数据库DM8的两种方式

    背景 某个项目需要实现基础软件全部国产化,其中操作系统指定银河麒麟,数据库使用达梦V8,CPU平台的范围包括x64.龙芯.飞腾.鲲鹏等.考虑到这些基础产品对.NET的支持,最终选择了.NET Core ...

  5. 转载:Linux图形界面知识(介绍X、X11、GNOME、Xorg、KDE等之间的关系)

    转载 http://blog.csdn.net/zhangxinrun/article/details/7332049Linux初学者经常分不清楚linux和X之间,X和Xfree86之间,X和KDE ...

  6. Oracle 存储过程使用总结

    参考 https://blog.csdn.net/weixin_41968788/article/details/83659164/ 创建 注意:一定不要漏掉了语句末尾的分号 DBMS_OUTPUT. ...

  7. python学习-Day26

    目录 今日内容详细 编程思想 面向过程编程 面向对象编程 类与对象 概念 类与对象的创建 先定义类 后产生对象 语法结构 如何产生对象 对象的实例化 绑定方法 今日内容详细 编程思想 面向过程编程 将 ...

  8. [STL] map 映射

  9. 各种查找算法的选用分析(顺序查找、二分查找、二叉平衡树、B树、红黑树、B+树)

    目录 顺序查找 二分查找 二叉平衡树 B树 红黑树 B+树 参考文档 顺序查找 给你一组数,最自然的效率最低的查找算法是顺序查找--从头到尾挨个挨个遍历查找,它的时间复杂度为O(n). 二分查找 而另 ...

  10. 【mq】从零开始实现 mq-05-实现优雅停机

    前景回顾 [mq]从零开始实现 mq-01-生产者.消费者启动 [mq]从零开始实现 mq-02-如何实现生产者调用消费者? [mq]从零开始实现 mq-03-引入 broker 中间人 [mq]从零 ...