iot-mqtt - Java 和 Netty 实现的 MQTT 代理


Apache-2.0
跨平台
Java

软件简介

iot-mqtt,由 java 和 netty 实现的 MQTT 代理,支持持久性。

本项目完全借鉴 jmqtt 项目 https://github.com/Cicizz/jmqtt
目前只是对部分代码进行了梳理重构,去除了集群部分, 修正了一些 bug,并加入简单的 $SYS/实现,后期会加入原创的集群的实现。
现在已对 mqtt3.1.1 协议有完整的实现。 本项目默认采用 rocksdb
做消息的持久化,所以即使项目故障推出,也不会丢失数据,恢复项目后可以自动重连发送。 运行方法:

  • maven build 出相应 jar 包,放入release/bin。
  • cd release/bin 目录 执行相应方法 ,相关配置在 config 目录下。
    1. server 启动 broker,默认1883 端口,用户名 admin 密码 123456。
    2. subscribe_test启动接受服务,默认监听/QOS0,/QOS1,/QOS2,三个主题。
    3. send_test启动发送服务,向/QOS0,/QOS1,/QOS2三个主题,并发1000个线程发送消息,共200万个消息。
    4. subscribe_sys启动监控服务,默认监听$SYS/主题.并显示当前所有client信息,包含每个client 接受消息数,发送消息数,关注的主题,等信息。