HIPPO-4J 1.3.0 正式发布:支持 Dubbo、RibbitMQ、RocketMQ 框架线程池

源码兴趣圈

共 2194字,需浏览 5分钟

 ·

2022-06-11 12:52

大家好,我是 小马哥

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.hippo4jgroupId>
    
    <artifactId>hippo4j-spring-boot-starter-adapter-dubboartifactId>
    
    <artifactId>hippo4j-spring-boot-starter-adapter-rabbitmqartifactId>
    
    <artifactId>hippo4j-spring-boot-starter-adapter-rocketmqartifactId>
    
    <artifactId>hippo4j-spring-boot-starter-adapter-spring-cloud-stream-rocketmqartifactId>
    <version>1.3.0version>
dependency>

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

<dependency>
    <groupId>cn.hippo4jgroupId>
    <artifactId>hippo4j-spring-boot-starter-adapter-allartifactId>
    <version>1.3.0version>
dependency>

HIPPO-4J Server

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

图1 线程池适配列表

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

图2 修改三方线程池

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

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

[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 做出过贡献的成员。

图3 GVP 证书

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

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

图4 Hippo-4J 开发者

最后总结

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

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

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

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

扫描下方二维码加我好友,拉你进群,备注:GitHub


浏览 49
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报