mafka平台架构
什么Mafka
Mafka一个基于Kafka开发的一个分布式消息中间件综合解决方案。
Mafka架构
mafka平台里面有四个角色,这四个角色是通过zk进行协调的。
mafka-client:负责发送和接受消息。
mafka-manager:对集群和client状态管理。
mafka-monitor:用于监控和报警。
mafka集群:由多个broker组成的mafka集群(作为服务端)用于存储消息。
zookeeper:用于存储配置信息。
mafka-client
- 易于使用:接口明确简单、几乎不需要配置就可以使用。因为客户端做了很多错误或异常信息收集,使用不正确能及时收到报警方便提醒使用方
- 负载均衡算法:目前负载均衡算法有很多种,我根据mafka系统特点选择了轮询和权重轮询调度2种算法。
- 动态策略:通过管理控制台操作,可以支持客户端动态调优。
- 服务发现:通过监听broker注册在zookeeper上临时节点,可以轻易发现集群中broker的变化,便于实现HA机制。
- 容灾切换:当前集群crash时,client可以选择切换到其他可用集群。
mafka-monitor
- 数据和流量监控
- 运行状态监控
- 空闲资源监控
- 客户端监控
- 消息堆积监控
monitor会对各种维度数据和流量进行监控(集群、broker、topic)。并且能及时掌握集群的运行状态,同时能对空闲资源进行回收,还能及时了解客户端状态变化,跟进消息堆积情况及时处理。
mafka-manager
- 系统状态查看
消息堆积、系统拓扑、zabbix监控项、客户端上报信息等
- 集群管理
双机房路由、topic,消费状态,appkey等
- 权限管理
用户、权限等
消息中间件需要有一个管理控制台,提高运维效率,目前能从mafka-manager看到消息堆积情况,集群拓扑图,
以及zabbix监控项、客户端上报等信息,也能管理双机房路由、topic、消费状态,appkey、用户、权限等。