CMAK(Kafka集群管理工具)路由配置深度解析
2025-07-06 04:31:22作者:平淮齐Percy
路由配置概述
CMAK(原Kafka Manager)是一个用于管理Apache Kafka集群的开源工具,其路由配置文件定义了整个应用的所有访问路径与对应控制器方法的映射关系。通过分析routes文件,我们可以全面了解CMAK提供的功能模块及其组织方式。
核心功能路由分析
集群管理相关路由
-
基础集群操作
GET /clusters/:c
- 查看指定集群的概览信息GET /addCluster
和POST /clusters
- 添加新集群的展示和提交处理GET /updateCluster
和POST /clusters/:c
- 更新集群配置
-
Broker管理
GET /clusters/:c/brokers
- 查看集群中所有Broker列表GET /clusters/:c/brokers/:b
- 查看特定Broker详情- Broker配置更新相关路由支持动态修改Broker参数
Topic管理相关路由
-
Topic基础操作
GET /clusters/:c/topics
- 查看集群中所有Topic列表- Topic创建、删除、配置更新等完整生命周期管理
GET /clusters/:c/topics/:t
- 查看特定Topic详情
-
分区管理
- 支持单个Topic和批量Topic的分区扩容
- 分区重分配相关路由支持手动和自动生成分配方案
消费者组管理
- 提供消费者组列表查看功能
- 支持按消费者组和Topic组合查看消费详情
- 消费者组摘要信息API接口
高级运维功能
-
Preferred Leader选举
- 立即执行和定时执行Leader重选举
- 支持取消已计划的Leader选举任务
-
分区重分配
- 生成分区重分配方案
- 确认和执行分区重分配
- 支持手动指定分区分配方案
API接口路由
CMAK提供了一系列状态检查API,这些接口主要用于获取集群实时状态信息:
-
Broker状态API
- 基础Broker信息和扩展信息接口
- 集群列表获取接口
-
Topic状态API
- Topic列表和元数据信息
- 副本不足和不可用分区检测
-
消费者状态API
- 消费者组摘要信息
- 特定Topic的消费情况汇总
特殊路由说明
-
静态资源路由
/vassets/
和/assets/
分别处理版本化和非版本化静态资源- 这种设计有利于静态资源的缓存管理和版本控制
-
健康检查
/api/health
提供基础的健康检查接口- 可用于监控系统对CMAK服务状态的检测
路由设计特点分析
-
RESTful风格
- 采用HTTP方法区分操作类型(GET/POST/PUT等)
- 资源层级结构清晰(如/clusters/{cluster}/topics/{topic})
-
参数传递方式
- 路径参数用于资源标识(如:c表示集群名称)
- 查询参数用于可选参数(如force参数)
-
前后端分离设计
- 页面路由和API路由分离
- API路由统一使用
/api/
前缀
实际应用建议
-
自定义开发扩展 理解路由结构后,可以:
- 添加新的页面路由扩展功能
- 开发新的API接口供其他系统集成
-
安全注意事项
- 敏感操作(如删除Topic)应确保有权限控制
- API接口应考虑增加认证机制
-
性能优化
- 频繁调用的API可考虑增加缓存
- 大数据量接口可支持分页参数
通过深入理解CMAK的路由配置,管理员可以更好地利用这个工具管理Kafka集群,开发者也可以基于现有路由结构进行功能扩展和二次开发。