kafka實踐(十五): 滴滴開源Kafka管控平臺 Logi-KafkaManager研究

滴滴開源了其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前端模塊啓動運行:

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)

 

 二、工具理解

 

 

 

三、部署驗證

 

 

 

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章