- kmqtt
功能简介
mqtt服务端程序。属于边缘消息业务域。mqtt网络协议功能基于netty实现,集成在springboot工程中。会话上下文保存在程序内存中,会话状态可保存在程序内存、redis、etcd中。kmqtt除了拥有mqtt协议必须的功能外,还包含扩展功能:权限功能、熔断功能、日志统计分析功能。权限验证功能需要对接kauth服务,http接口实现。日志统计分析功能需要对接kafka,并由kmetrics消费分析日志。
部署说明
可单机部署、负载均衡部署。单机部署时,会话状态配置不限制。负载均衡部署时,会话状态不能保存在内存中。
推荐部署方案:nginx+keepalive作为负载均衡服务,部署2个nginx;部署n(>1)个kmqtt构成kmqtt集群;会话状态保存在redis中,redis主从方式部署,部署1主redis+2从redis+3哨兵;部署kafka集群,kafka节点数>=3。
2.kauth
功能简介
为kmqtt提供权限验证服务。属于边缘计算业务域。服务的mqtt用户和用户主题权限数据是kadmin推送过来的,并存储在redis中,不设置超时时间。redis的数据发生错误时,可由kadmin发起数据同步,覆盖redis。
部署说明
当kmqtt开启权限验证功能时,kauth需要配套部署,且必须具有高稳定性。kauth的redis与kmqtt的redis在逻辑上是不同的库,但是物理上可以共用。
推荐部署方案:nginx作为负载均衡服务,部署2个nginx;部署n(>1)个kauth构成kauth集群;redis主从方式部署,部署1主redis+2从redis+3哨兵。
3.kmetrics
功能简介
日志统计分析程序。属于边缘计算业务域。对接kafka,消费kmqtt的日志。统计的指标会保存在redis中,也会保存在mysql中,还会对接prometheus存储时序数据。
部署说明
当kmqtt开启日志统计分析功能时,kmetrics需要配套部署。kmetrics是消费者,其消费能力要大于kmqtt的生产能力,不然会造成kafka消息堆积。如果有实时指标统计的需求,kmetrics消费者必须实现kafka 无消息堆积。kmetrics的redis与kauth的redis逻辑上是同一个库。
推荐部署方案:部署n(>=1)个kmetrics构成kmetrics集群;redis主从方式部署,部署1主redis+2从redis+3哨兵。部署mysql。
4.kreport
功能简介
报表统计程序。属于边缘计算业务域。与kmetrics共用redis和mysql。统计日报表、月报表。为kadmin提供报表查询服务。
部署说明
kreport的redis和kmetrics的redis逻辑上是同一个库。mysql也是同一个库。
推荐部署方案:部署1个kreport。
5.kadmin+kadminweb
功能简介
后台管理程序前后端。属于边缘管控业务域。kamdin与kreport、kmetrics通过http接口单向交互。kadmin与kadminweb通过http接口给前端提供服务,通过websocket给前端推送通知。功能包括:mqtt用户管理、客户端设备管理、用户主题权限管理、dashboard、统计报表。
部署说明
kadmin与kreport的redis、mysql逻辑上是不同的库。
推荐部署方案:部署1个nginx;部署1个kadmin;部署1个kadminweb;单机部署redis;单机部署mysql。
6.kbi
功能简介
数据大屏前端。属于边缘管理业务域。kbi与kreport、kmetrics通过http接口单向交互。用于展现kmqtt指标监控数据大屏。
部署说明
kbi的nginx和kadminweb的nginx可以共用。
推荐部署方案:部署1个kbi。
7.prometheus+grafana
功能简介
指标监控服务的前后端。属于边缘管控业务域。用于展示kmqtt运行情况的指标,给运维人员提供监控视图,也能配置告警规则对异常情况进行告警通知。
部署说明
prometheus单机部署,采用直连kmetrics的pull模式。注意prometheus的主机硬盘大小,定期清理数据的配置要符合实际情况。如果需要对环境中的kmqtt、kauth、kmetrics、kreport的jvm进行监控,可以部署jmx-exporter。如果需要对redis进行监控,可以部署redis-exporter。如果要对kafka进行监控,可以部署kafka-exporter。如果需要对nginx进行监控,可以部署nginx-exporter。如果要对mysql进行监控,可以部署mysqld-exporter。
推荐部署方案:部署1个prometheus;部署1个grafana。
8.cmak
功能简介
kafka后台管理工具。可管理topic。可查看kafka 消费者情况。可查看broker情况。
部署说明
推荐部署方案:单机部署cmak
9.展望
AIOT方向
接入ASR/TTS/NLP,实现语音交互
IOT+图数据库方向
接入开源图数据库、NLP,做数据分析。
网友评论