java集成低延迟高性能的mqtt物联网集群附源码
基于 t-io 实现的低延迟、高性能的 mqtt 物联网组件。更多使用方式详见: mica-mqtt-example 模块。使用场景物联网(云端 mqtt broker) 物联网(边缘端消息通信) 群组类 IM 消息推送 简单易用的 mqtt 客户端 优势平凡却不单调,简单却不失精彩。 手动档(更加易于二次开发或扩展)。 牛犊初生,无限可能。 功能支持 MQTT v3.1、v3.1.1 以及 v5.0 协议。 支持 websocket mqtt 子协议(支持 mqtt.js)。 支持 http rest api,http api 文档详见。 支持 MQTT client 客户端。 支持 MQTT server 服务端。 支持 MQTT 遗嘱消息。 支持 MQTT 保留消息。 支持自定义消息(mq)处理转发实现集群。 MQTT 客户端 阿里云 mqtt 连接 demo。 支持 GraalVM 编译成本机可执行程序。 支持 Spring boot 项目快速接入(mica-mqtt-spring-boot-starter)。 mica-mqtt-spring-boot-starter 支持对接 Prometheus + Grafana。 基于 redis pub/sub 实现集群,详见 mica-mqtt-broker 模块。 待办优化处理 mqtt session,以及支持 v5.0 基于 easy-rule + druid sql 解析,实现规则引擎。 默认端口
端口号
协议
说明
1883
tcp
mqtt tcp 端口
8083
http、websocket
http api 和 websocket mqtt 子协议端口 依赖Spring boot 项目 net.dreamlu mica-mqtt-spring-boot-starter 1.2.8
配置详见 :mica-mqtt-spring-boot-starter 使用文档 非 Spring boot 项目 net.dreamlu mica-mqtt-core 1.2.8
配置详见 :mica-mqtt 使用文档 文档mica-mqtt-spring-boot-starter 使用文档 mica-mqtt 使用文档 mica-mqtt http api 文档详见 mica-mqtt 发行版本 t-io 官方文档 mqtt 协议文档 快速开始
查看 mica-mqtt-example 中有 mqtt 服务端和客户端演示代码, main 方法运行即可。1. 启动 Server 端
运行 mica-mqtt-example/src/main/java/net/dreamlu/iot/mqtt/server/MqttServerTest.java 的 main 方法
控制台打印如下内容: 2021-07-05 20:42:36,869 INFO server.TioServer - |----------------------------------------------------------------------------------------| | t-io site | https://www.tiocloud.com | | t-io on gitee | https://gitee.com/tywo45/t-io | | t-io on github | https://github.com/tywo45/t-io | | t-io version | 3.7.3.v20210706-RELEASE | | ---------------------------------------------------------------------------------------| | TioConfig name | Mica-Mqtt-Server | | Started at | 2021-07-05 20:42:36 | | Listen on | 127.0.0.1:1883 | | Main Class | net.dreamlu.iot.mqtt.server.MqttServerTest | | Jvm start time | 2715ms | | Tio start time | 16ms | | Pid | 3588 | |----------------------------------------------------------------------------------------| 2021-07-05 20:42:37,884 WARN server.MqttServer - Mqtt publish to all ChannelContext is empty.
Mqtt publish to all ChannelContext is empty. 通道上下文为空,即没有客户端。Mica-Mqtt-Server 当前时间:1625489086843 连接统计 共接受过连接数 :0 当前连接数 :0 异IP连接数 :0 关闭过的连接数 :0 消息统计 已处理消息 :0 已接收消息(packet/byte):0/0 已发送消息(packet/byte):0/0b 平均每次TCP包接收的字节数 :0.0 平均每次TCP包接收的业务包 :0.0 IP统计时段 没有设置ip统计时间 节点统计 clientNodes :0 所有连接 :0 绑定user数 :0 绑定token数 :0 等待同步消息响应 :0 群组 groupmap:0 拉黑IP [] 2021-07-05 20:44:46,925 WARN server.ServerTioConfig - Mica-Mqtt-Server, 检查心跳, 共0个连接, 取锁耗时0ms, 循环耗时71ms, 心跳超时时间:120000ms2. 启动 Client 端
运行 mica-mqtt-example/src/main/java/net/dreamlu/iot/mqtt/client/MqttClientTest.java 的 main 方法
控制台打印如下内容,表示客户端连接成功: 2021-07-05 20:46:10,972 ERROR client.TioClient - closeds:0, connections:0 2021-07-05 20:46:10,972 INFO client.TioClient - [1]: curr:0, closed:0, received:(0p)(0b), handled:0, sent:(0p)(0b) 2021-07-05 20:46:12,566 INFO client.ConnectionCompletionHandler - connected to 127.0.0.1:1883 2021-07-05 20:46:12,586 INFO client.MqttClient - MqttClient reconnect send connect result:true 2021-07-05 20:46:12,630 INFO client.DefaultMqttClientProcessor - MqttClient connection succeeded! 2021-07-05 20:46:13,932 INFO client.MqttClientTest - /test/123 mica最牛皮
此时的 Server 端会打印出如下内容: 2021-07-05 20:46:45,654 INFO server.MqttServerTest - subscribe: /test/client mica最牛皮 2021-07-05 20:46:46,926 WARN server.ServerTioConfig - Mica-Mqtt-Server 当前时间:1625489206923 连接统计 共接受过连接数 :1 当前连接数 :1 异IP连接数 :1 关闭过的连接数 :0 消息统计 已处理消息 :20 已接收消息(packet/byte):20/584 已发送消息(packet/byte):37/935b 平均每次TCP包接收的字节数 :29.2 平均每次TCP包接收的业务包 :1.0 IP统计时段 没有设置ip统计时间 节点统计 clientNodes :1 所有连接 :1 绑定user数 :0 绑定token数 :0 等待同步消息响应 :0 群组 groupmap:0 拉黑IP [] 2021-07-05 20:46:46,926 WARN server.ServerTioConfig - Mica-Mqtt-Server, 检查心跳, 共1个连接, 取锁耗时0ms, 循环耗时0ms, 心跳超时时间:120000ms3. Client 接入 Aliyun MQTT 服务(示例)
详见 mica-mqtt-example/src/main/java/net/dreamlu/iot/mqtt/aliyun/MqttClientTest.java 参考vs借鉴netty codec mqtt jmqtt iot-mqtt-server netty-mqtt-client mqtt 客户端工具mqttx 优雅的跨平台 MQTT 5.0 客户端工具 mqtt websocket 调试 mqttx.fx mqtt 客户端
感谢粉丝支持!适合新手学习MQtt集群开发
想要java集成低延迟、高性能 mqtt 物联网集群附源码源码,
请记得关注+转发+私信回复【物联网Mqtt集群】
如果对你有用,请记得转发,分享更多需要学习的朋友!
你用过的手机哪个是最满意的?哪个最不满意的?关于手机问题吗,之要能使的注,基本上不出毛病,我是一个老百姓,我因为都很好,因为我是一个没有钱的农民人,我也不太了解那一种手机最好使。很抱歉,谢谢吧。,,,刚买的Tx手机,充电一夜
现在哪款手机的电池耐用?目前有哪款的手机续航不错的?如果不考虑其他方面的因素,只考虑续航的话当属vivoZ6了。vivoZ6虽然是一款5G手机,但是凭借着超大的电池低功耗的处理器和系统的省电优化,续航实力
为什么华为4G手机卖五千照样有人买账,小米什么时候能做到?other不碰瓷活不下来了小米不用做到,不管卖五百还是卖五千,小米只卖超值的产品,把垃圾卖出天价不符合小米的价值观。说起来有点讽刺,华为在2019年的时候推广5G最积极,也是5G手
跑分双破百万!骁龙天玑,一大波新机即将发布今年手机市场变化多样,其中给人印象最深的要数骁龙888大火龙以及苹果十三香了。在其之后,天玑9000处理器爆出安兔兔跑分超百万!作为最大的竞争对手,骁龙也相继爆出即将发布的CPU骁
Windows自带的防火墙就够了,为何很多人安装其他杀毒软件?我用的是Win10系统,这个Windows自带的防火墙,也叫反间谍软件Defender。这个防火墙确实够用。但是,自从使用WindowsXP以来,就用上360杀毒软件,因为它是免费
京东plus会员好用还是天猫88会员好用?有懂的吗?嗯,不邀自来!这个没有绝对的说法,因为现在网友们就已经分成了2派,有的支持刘强东,有的则支持马云。你说支持刘强东的,他会跑去买天猫的88VIP会员吗?显然绝大多数都没有这个可能,只
沐浴问题终结者来了!华帝零冷水JW6i成功进击年轻市场冷空气到货,南方也进入了低温模式,每到这时洗澡就成了一件需要克服的事。相信大家都有相似的经历天寒地冻,在浴室里苦等花洒出热水,还要小心水温骤降,真是让人有苦说不出。正是因为同一种痛
新支付方式来了,各大银行都支持,安全性高转账也免费引言我国的支付方式经历多重变革,人们的生活也越来越便利,随之而来的便是担心财富安全。为此,新的支付方式将全面解决大家的后顾之忧。你听说过数字货币吗?可能上了年纪的人会摇摇头,新潮的
为什么苹果手机一直不提高摄像头像素?苹果公司一直不提升手机像素,是因为对自己公司的产品充分自信,觉得苹果手机像素1200完全就足够能拍出高质量的照片和视频。那么苹果为什么坚持使用1200万像素的摄像头呢?首先一个原因
柳传志的结局将会是如何的?如果仅从目前的这些披露出来的事情来看,他们不会有什么事情。任何事情不能单独拿出来说,也不能脱离当时的大环境来说。如同你三岁的时候穿的衣服,放在十年后小了,你不能说当时买错了。这或许
在成功人士中,是不是天蝎座居多?不不不天蝎座心机太重只能短暂的成功!最终能成功的一定是射手座多。因为人品好不玩脑筋只用心大笑大笑大笑作揖作揖作揖在十二星座各方面的排名中,天蝎是属于综合能力较强的一个星座,各领域里