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

是龍臺呀發表於2022-06-13

文章首發在公眾號(龍臺的技術筆記),之後同步到個人網站:xiaomage.info

Hippo-4J 距離上一個版本 1.2.1 已經過去一個月的時間。在此期間,由 8 位貢獻者 提交了 170+ commits,正式釋出 1.3.0 版本。

注:這是一個 相容歷史版本 的重大升級。

Githubhttps://github.com/mabaiwan/h...

Giteehttps://gitee.com/mabaiwancn/...

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/h...

圖4 Hippo-4J 開發者

最後總結

開源不易,如果各位小夥伴看了 Hippo-4J 框架後有所收穫,希望能幫忙在 Github、Gitee 點個 star。

目前已有 10+ 公司在生產環境使用 Hippo-4J,如果貴公司使用了 Hippo-4J,請在下方 Issue 登記,謝謝。

Issuehttps://github.com/mabaiwan/h...

登記使用不會對公司有任何影響,僅為了擴大 Hippo-4J 影響力,幫助它能走得更遠。

相關文章