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前端模块启动运行:

kafka实践(十五): 滴滴开源Kafka管控平台 Logi-KafkaManager研究_第1张图片

pom.xml需要注释掉对于console前端模块的引用:

     kafka实践(十五): 滴滴开源Kafka管控平台 Logi-KafkaManager研究_第2张图片

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集群配置;

kafka实践(十五): 滴滴开源Kafka管控平台 Logi-KafkaManager研究_第3张图片

3、后端模块架构

引用官方提供的应用架构图分析代码架构;

kafka实践(十五): 滴滴开源Kafka管控平台 Logi-KafkaManager研究_第4张图片

 

+----------------------------+
| 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)

 

 二、工具理解

 

 

 

三、部署验证

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(Kafka生产实践,kafka,大数据,分布式,hadoop)