一、概述
本篇是第一篇,主要介绍jmqtt架构思想和一些模块介绍,帮助一些需要使用jmqtt的同学更好的理解Jmqtt,方便问题排查和二次开发。
二、Jmqtt架构思想
Jmqtt主要分为四大块,上层用netty做协议编解码和与设备间的通信,接收到mqtt报文后进行协议处理及消息分发处理,并对一些mqtt元信息做存储管理等。
请先阅读理解mqtt协议,再结合代码一起看,方便理解。
三、Jmqtt模块介绍
主要关注Jmqtt-broker即可,相关的代码都在这里
四、Jmqtt-broker代码模块介绍
- 启动类在BrokerStartup中,找到main方法即可
- 启动后就是看设备的连接,发送消息等,在processor中,如图:
五、源码阅读指导
- 看启动:从main方法看。其中配置加载等可以忽略,-h 是指定配置文件所在根目录,-l是指定日志级别,默认是INFO。
- 看设备连接:从ConnectProcessor和DisConnectProcessor看
- 看心跳:从PingProcessor看
- 看设备发送消息:看PublishProcessor
- 看设备发起订阅:看SubscribeProcessor和UnSubscribeProcessor
- 看jmqtt给设备推消息:看DefaultDispatcherInnerMessage
详细不懂的可以加qq群,欢迎小伙伴们github给个star。关注越多,更新越快~~~~