HIPPO-4J 1.3.0 正式釋出:支援 Dubbo、RibbitMQ、RocketMQ 框架執行緒池

2022-06-13 09:00:47

文章首發在公眾號(龍臺的技術筆記),之後同步到個人網站: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 影響力,幫助它能走得更遠。