iot-mqttJava 和 Netty 实现的 MQTT 代理
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 目录下。
- server 启动 broker,默认1883 端口,用户名 admin 密码 123456。
- subscribe_test启动接受服务,默认监听/QOS0,/QOS1,/QOS2,三个主题。
- send_test启动发送服务,向/QOS0,/QOS1,/QOS2三个主题,并发1000个线程发送消息,共200万个消息。
- subscribe_sys启动监控服务,默认监听$SYS/主题.并显示当前所有client信息,包含每个client 接受消息数,发送消息数,关注的主题,等信息。
评论