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


    文章首发在公众号(龙台的技术笔记),之后同步到个人网站: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 的控制台进行查看及修改三方框架线程池。

    图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。

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

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

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

  • 相关阅读:
    java基础之成员与局部变量以及this与static关键字[15]
    校园二手物品交易平台
    零知识证明经典文献大汇总(可收藏)
    并购支付牌照中金支付90.01%股权该注意哪些风险
    手把手教你搭建maven私有中央仓库对各种jar包管理
    资本市场做好为工业互联网“买单”的准备了吗?
    archlinux 安装ibus-rime
    工作分配问题——算法设计与分析(C实现)
    python的标识符命名规则,保留字表
    对DataFrame按指定的行、列索引输出数据:lookup()函数
  • 原文地址:https://www.cnblogs.com/longtaiblog/p/16369500.html