一、概述

本篇是第一篇,主要介绍jmqtt架构思想和一些模块介绍,帮助一些需要使用jmqtt的同学更好的理解Jmqtt,方便问题排查和二次开发。

二、Jmqtt架构思想

Jmqtt主要分为四大块,上层用netty做协议编解码和与设备间的通信,接收到mqtt报文后进行协议处理及消息分发处理,并对一些mqtt元信息做存储管理等。

请先阅读理解mqtt协议,再结合代码一起看,方便理解。

image.png

三、Jmqtt模块介绍

image.png

主要关注Jmqtt-broker即可,相关的代码都在这里

四、Jmqtt-broker代码模块介绍

image.png

  1. 启动类在BrokerStartup中,找到main方法即可
  2. 启动后就是看设备的连接,发送消息等,在processor中,如图:

image.png

五、源码阅读指导

  1. 看启动:从main方法看。其中配置加载等可以忽略,-h 是指定配置文件所在根目录,-l是指定日志级别,默认是INFO。
  2. 看设备连接:从ConnectProcessor和DisConnectProcessor看
  3. 看心跳:从PingProcessor看
  4. 看设备发送消息:看PublishProcessor
  5. 看设备发起订阅:看SubscribeProcessor和UnSubscribeProcessor
  6. 看jmqtt给设备推消息:看DefaultDispatcherInnerMessage

详细不懂的可以加qq群,欢迎小伙伴们github给个star。关注越多,更新越快~~~~

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐