文章首發在公眾號(龍台的技術筆記),之後同步到個人網站:xiaomage.info Hippo-4J 距離上一個版本 1.2.1 已經過去一個月的時間。在此期間,由 8 位貢獻者 提交了 170+ commits,正式發佈 1.3.0 版本。 註:這是一個 相容歷史版本 的重大升級。 Github: ...
文章首發在公眾號(龍台的技術筆記),之後同步到個人網站: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 影響力,幫助它能走得更遠。
公眾號:龍台的技術筆記