滴滴開源了其Kafka 監控與管控平臺 Logi-KafkaManager,之前有使用過kafka-manager,kafka-eagle,kafka-mirrorkaker的使用經驗,如果有工具能夠整合這幾個工具的優點于一身,對于生產環境中kafka集群的管理、監控、資源分配是非常好的,所以在研究kafka原始碼的同時研究一下Logi-KafkaManager的原始碼和使用,滴滴提供了體驗地址:http://117.51.150.133:8080/kafka ,賬戶admin/admin,
參考資料:
github地址
產品介紹
特性說明
一、原始碼解讀
1、前端除錯環境
github克隆比較慢gitee很快,采取前后端分離架構(springboot+reactJS+Typescript),代碼包含了幾個模塊common,console,core,dao,extends,task,web,其中web中有MainApplication這個專案的啟動類,其他都是依賴,console模塊是基于recat+typescript的前端界面(技術堆疊選型還是很超前的),本地分別對前后端運行查看原始碼,這里把console單獨放在VScode中運行;
# react跟vue一樣基于node,所以npm相關依賴引入和配置啟動
npm config set registry https://registry.npm.taobao.org
npm config list #查看npm當前配置
npm install
# 啟動react專案
npm start
console前端模塊啟動運行:

pom.xml需要注釋掉對于console前端模塊的參考:

2、后除錯環境
依賴Maven 3.5+(后端打包),node v12+(前端打包),Java 8+(運行環境需要),MySQL 5.7(資料存盤),node因為放在vscode了所以不需要,在mysql創建kafka_manager庫,并且運行sql初始化陳述句,同時修改springboot中的mysql配置;
mysql --default-character-set=utf8 -uroot -p123456 -P3306 -D kafka_manager < create_mysql_table.sql
將web模塊的MainApplication.java配置成應用主類即可啟動;
2021-01-25 19:33:22.642 INFO 18000 --- [ main] c.x.kafka.manager.web.MainApplication : MainApplication started
由于是本地運行,console模塊的proxy的target需要修改:
proxy: {
'/api/v1/': {
target: 'http://127.0.0.1:8080',
//target: 'http://10.179.37.199:8008',
// target: 'http://99.11.45.164:8888',
changeOrigin: true,
}
以上,本地獨立運行了基于前后端分離的除錯環境;可以看見前端讀取的是mysql庫中kafka集群配置;

3、后端模塊架構
參考官方提供的應用架構圖分析代碼架構;

+----------------------------+
| Tables_in_kafka_manager |
+----------------------------+
| account |
| app |
| authority |
| broker |
| broker_metrics |
| cluster |
| cluster_metrics |
| cluster_tasks |
| config |
| controller |
| gateway_config |
| heartbeat |
| kafka_acl |
| kafka_bill |
| kafka_file |
| kafka_user |
| logical_cluster |
| monitor_rule |
| operate_record |
| reassign_task |
| region |
| topic |
| topic_app_metrics |
| topic_connections |
| topic_expired |
| topic_metrics |
| topic_report |
| topic_request_time_metrics |
| topic_statistics |
| topic_throttled_metrics |
| work_order |
+----------------------------+
31 rows in set (0.01 sec)
二、工具理解
三、部署驗證
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/252654.html
標籤:其他
