您好,登錄后才能下訂單哦!
這篇文章給大家介紹怎樣開源Logi-KafkaManager,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
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前端模塊啟動運行:
因為前后端分別用idea和vscode,所以后端項目pom.xml需要注釋掉對于console前端模塊的引用:
依賴Maven 3.5+(后端打包),node v12+(前端打包),Java 8+(運行環境需要),MySQL 5.7(數據存儲),node因為放在vscode了所以不需要,在mysql創建kafka_manager庫,并且運行sql初始化語句,同時修改springboot中的mysql配置(這里官方提供的sql語句沒有加字符集設置,需要加上不然報錯)
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模塊的API的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集群配置;
按照官方提供的功能架構圖理解,因為logi-kafka-manager的定位是kafka集群全方位管控系統,它以kafka集群為主體,封裝和集成了kafka對外提供的用戶API,,以kafka集群和topic資源為運營對象,面向應用系統用戶(topic使用者)、kafka/管控平臺開發者、kafka/管控平臺運維者提供便捷的資源管理能力。按照這個思維理解,官方給的功能架構包括:資源層(zk和mysql元數據存儲)、引擎層(kafka集群為主體)、網關層(kafka服務基礎管理能力)、服務層(高級用戶api)、平臺層(面向不同用戶);
這里在win系統下本地kafka+logi-kafka-manager的聯調測試驗證,用于對于kafka+logi-kafka-manager的源碼研究和聯調,關于win環境下如何部署zookeeper以及idea中運行kafka集群可以參考之前系列文章:《kafka實踐(十二):生產者(KafkaProducer)源碼詳解和調試》,環境配置如下:
本地測試增加kafka集群到logi-kafka-manager內進行統一管理,新增的本地集群的zk地址和kafka地址,就可以統一管理broker和topic,以及后續的資源分配,win下實現環境配置方便源碼調整和kafka/管控平臺人員的調試;
linux環境下的生產部署使用則更為簡單,zk和kafka部署完成后,按照官方文檔指引進行前后端統一部署,不再驗證;
# mvn會調用npm模塊下載node依賴
mvn install
# application.yml 是配置文件
cp kafka-manager-web/src/main/resources/application.yml kafka-manager-web/target/
cd kafka-manager-web/target/
nohup java -jar kafka-manager-web-2.1.0-SNAPSHOT.jar --spring.config.location=./application.yml > /dev/null 2>&1 &
針對應用開發人員,只關心其當前的應用系統的數據(多為日志數據)應發到哪個集群下的哪個topic?,因此logi-kafka-manager提供了“Topic管理”--“集群管理”--“監控告警”應用菜單服務,能提供以下幾種服務:
創建/申請應用
在“Topic管理”內對當前的申請應用,匹配需要使用的topic資源(可調整配額和分區)
kafka集群接入申請
在“監控告警”內自定義告警規則;(對消費偏移量、消費速率、集群狀態、topic狀態進行自定義監控,并實時預警,太有用了!)
資源申請服務
針對kafka/管控開發人員,需要進行應用系統、kafka集群、kafka管控平臺的綜合管理,增加“運維管控”菜單,提供對于kafka集群的server.config配置等集群運維能力和用戶計費賬單管理能力,能提供以下幾種服務:
針對kafka/管控運維人員,需要及時發現解決kafka集群問題和快速修復,提供“專家服務”,羅列常見問題和解決方法,提供以下幾種服務:
對于logi-kafka-manager工具,期待整合Mirror-maker跨機房數據傳輸工具,更方便地配置數據實時傳輸和效率監控!
關于怎樣開源Logi-KafkaManager就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。