文章首發在公眾號(龍臺的技術筆記),之後同步到個人網站:xiaomage.info
Hippo-4J 距離上一個版本 1.2.1 已經過去一個月的時間。在此期間,由 8 位貢獻者 提交了 170+ commits,正式釋出 1.3.0 版本。
注:這是一個 相容歷史版本 的重大升級。
Github:https://github.com/mabaiwan/hippo4j
Gitee:https://gitee.com/mabaiwancn/hippo4j
HIPPO-4J 1.3.0
Feature
- 新增 RabbitMQ 執行緒池監控及動態變更
- 新增 RocketMQ 執行緒池監控及動態變更
- 新增 Dubbo 執行緒池監控及動態變更
- 新增 SpringCloud Stream RocketMQ 消費執行緒池監控及動態變更
Refactor
- 重構容器執行緒池查詢及修改功能
- 優化配置中心觸發監聽後,所執行的資料變更邏輯
Optimize
- 前端控制檯刪除無用元件
- 服務端頁面欄位未顯示中文
- 控制檯 UI 優化
- 修改執行緒池例項後實時重新整理列表引數
- 容器執行緒池編輯僅限 Admin 許可權
- SpringBoot Starter 變更包路徑
BUG
- 修復 SpringBoot Nacos 動態重新整理不生效
- 報警配置 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 登記,謝謝。
Issue:https://github.com/mabaiwan/hippo4j/issues/13
登記使用不會對公司有任何影響,僅為了擴大 Hippo-4J 影響力,幫助它能走得更遠。