HIPPO-4J 1.3.0 正式發佈:支持 Dubbo、RibbitMQ、RocketMQ 框架線程池

来源:https://www.cnblogs.com/longtaiblog/archive/2022/06/13/16369500.html
-Advertisement-
Play Games

文章首發在公眾號(龍台的技術筆記),之後同步到個人網站: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 版本。

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

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 影響力,幫助它能走得更遠。

公眾號:龍台的技術筆記
您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 一個工作2年的粉絲,被問到一個Mybatis裡面的基礎問題。 他跑過來調戲我,說Mic老師,你要是能把這個問題回答到一定高度,請我和一個月奶茶。 這個問題是: ”Mybatis裡面#{}和${}的區別是什麼“ 下麵看看普通人和高手對這個問題的回答。 普通人: Mybatis裡面#{}和${}的區別: ...
  • 前言 前幾天小編在抖音上刷到一個慢慢變老的視頻,播放量居然有 30W+,當時就在想這視頻 Python 可不可以做?經過一番搜索,小編找到了 騰訊雲的人臉年齡變化 API,上面介紹說只要用戶上傳一張人臉圖片,基於人臉編輯與生成演算法,就可以輸出一張人臉變老或變年輕的圖 片,並支持實現人臉不同年齡的變化 ...
  • 我們以識別詩詞為例下麵是我們要識別的圖片 先看下效果圖 我們運行代碼後識別的結果,有幾個字沒有正確識別,但是大多數字都能識別出來。 一行代碼就能識別圖片,我們背後要做些準備工作的 •這裡我們需要用到兩個庫:pytesseract和PIL •同時我們還需要安裝識別引擎tesseract-ocr 下麵就 ...
  • UML系統建模 1 概述 1.1 課程概述 彙集UML及其相關的一些話題 回顧UML相關的符號與概念 以電商訂單相關業務為例,藉助UML完成系統建模 將UML變成提升建模效率,表達架構思想的工具 1.2 什麼是UML ​ Unified Modeling Language 統一建模語言,又稱標準建模 ...
  • 前言 周末到了,不想給大家太多的壓力,今天就給大家分享一個比較簡單的彈球小游戲吧。這無聊的周末又有事可以做了,nice… 先看一下我們的最終效果圖 我們分9步來講解如何寫這個小游戲 1.創建游戲的主界面 我們用Python的內置模塊Tkinter來完成了,它是Python的標準GUI工具包,可以非常 ...
  • 前面我們剖析了Redisson的源碼,主要分析了Redisson實現Redis分散式鎖的15問,理清了Redisson是如何實現的分散式鎖和一些其它的特性。這篇文章就來接著剖析Zookeeper分散式鎖的實現框架Curator的源碼,看看Curator是如何實現Zookeeper分散式鎖的,以及它提 ...
  • 認識JavaWeb,衛星定位:zhanjiquan666,衛星定位:zhanjiquan666 ...
  • 一、說明 Fate 是一個工業級聯邦學習框架,所謂聯邦學習指的就是可以聯合多方的數據,共同構建一個模型; 與傳統數據使用方式相比,它不需要聚合各方數據搭建 數據倉庫,聯邦學習在聯合計算建模的過程中,多方機構之間的數據是不會進行共用的,實現數據的 可用不可見;本文主要分享隱私計算平臺 Fate 的相關 ...
一周排行
    -Advertisement-
    Play Games
  • 基於.NET Framework 4.8 開發的深度學習模型部署測試平臺,提供了YOLO框架的主流系列模型,包括YOLOv8~v9,以及其系列下的Det、Seg、Pose、Obb、Cls等應用場景,同時支持圖像與視頻檢測。模型部署引擎使用的是OpenVINO™、TensorRT、ONNX runti... ...
  • 十年沉澱,重啟開發之路 十年前,我沉浸在開發的海洋中,每日與代碼為伍,與演算法共舞。那時的我,滿懷激情,對技術的追求近乎狂熱。然而,隨著歲月的流逝,生活的忙碌逐漸占據了我的大部分時間,讓我無暇顧及技術的沉澱與積累。 十年間,我經歷了職業生涯的起伏和變遷。從初出茅廬的菜鳥到逐漸嶄露頭角的開發者,我見證了 ...
  • C# 是一種簡單、現代、面向對象和類型安全的編程語言。.NET 是由 Microsoft 創建的開發平臺,平臺包含了語言規範、工具、運行,支持開發各種應用,如Web、移動、桌面等。.NET框架有多個實現,如.NET Framework、.NET Core(及後續的.NET 5+版本),以及社區版本M... ...
  • 前言 本文介紹瞭如何使用三菱提供的MX Component插件實現對三菱PLC軟元件數據的讀寫,記錄了使用電腦模擬,模擬PLC,直至完成測試的詳細流程,並重點介紹了在這個過程中的易錯點,供參考。 用到的軟體: 1. PLC開發編程環境GX Works2,GX Works2下載鏈接 https:// ...
  • 前言 整理這個官方翻譯的系列,原因是網上大部分的 tomcat 版本比較舊,此版本為 v11 最新的版本。 開源項目 從零手寫實現 tomcat minicat 別稱【嗅虎】心有猛虎,輕嗅薔薇。 系列文章 web server apache tomcat11-01-官方文檔入門介紹 web serv ...
  • 1、jQuery介紹 jQuery是什麼 jQuery是一個快速、簡潔的JavaScript框架,是繼Prototype之後又一個優秀的JavaScript代碼庫(或JavaScript框架)。jQuery設計的宗旨是“write Less,Do More”,即倡導寫更少的代碼,做更多的事情。它封裝 ...
  • 前言 之前的文章把js引擎(aardio封裝庫) 微軟開源的js引擎(ChakraCore))寫好了,這篇文章整點js代碼來測一下bug。測試網站:https://fanyi.youdao.com/index.html#/ 逆向思路 逆向思路可以看有道翻譯js逆向(MD5加密,AES加密)附完整源碼 ...
  • 引言 現代的操作系統(Windows,Linux,Mac OS)等都可以同時打開多個軟體(任務),這些軟體在我們的感知上是同時運行的,例如我們可以一邊瀏覽網頁,一邊聽音樂。而CPU執行代碼同一時間只能執行一條,但即使我們的電腦是單核CPU也可以同時運行多個任務,如下圖所示,這是因為我們的 CPU 的 ...
  • 掌握使用Python進行文本英文統計的基本方法,並瞭解如何進一步優化和擴展這些方法,以應對更複雜的文本分析任務。 ...
  • 背景 Redis多數據源常見的場景: 分區數據處理:當數據量增長時,單個Redis實例可能無法處理所有的數據。通過使用多個Redis數據源,可以將數據分區存儲在不同的實例中,使得數據處理更加高效。 多租戶應用程式:對於多租戶應用程式,每個租戶可以擁有自己的Redis數據源,以確保數據隔離和安全性。 ...