Skip to content

java mqtt 基于 java aio 实现,开源、简单、易用、低延迟、高性能百万级 java mqtt client 组件和 java mqtt broker 服务。🔝🔝 记得右上角点个star 关注更新!

License

Notifications You must be signed in to change notification settings

lets-mica/mica-mqtt

Repository files navigation

🌐 mica mqtt 组件

Java CI JAVA 8 Mica Maven release Mica-mqtt maven snapshots

Gitcode Repo star Gitee Repo star GitHub Repo stars Codacy Badge GitHub


📖简体中文 | 📖English

mica-mqtt 低延迟高性能mqtt 物联网组件。更多使用方式详见: mica-mqtt-example 模块。

✨✨✨最佳实践✨✨✨ BladeX 物联网平台(基于 mica-mqtt 私服加强版)

🍱 使用场景

  • 物联网(云端 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 client、server 共享订阅支持(私服加强版采用 topic 树存储,跟 topic 数无关,百万 topic 性能依旧)。
  • 支持 MQTT 遗嘱消息。
  • 支持 MQTT 保留消息。
  • 支持自定义消息(mq)处理转发实现集群。
  • MQTT 客户端 阿里云 mqtt华为云 mqtt 连接 demo 示例。
  • 支持 GraalVM 编译成本机可执行程序。
  • 支持 Spring boot、Solon 和 JFinal 项目快速接入。
  • 支持对接 Prometheus + Grafana 实现监控。
  • 基于 redis stream 实现集群,详见 mica-mqtt-broker 模块

🌱 待办

  • 优化处理 mqtt session,以及支持 v5.0
  • 基于 easy-rule + druid sql 解析,实现规则引擎。

🚨 默认端口

端口号 协议 说明
1883 tcp mqtt tcp 端口
8083 http、websocket http api 和 websocket mqtt 子协议端口

演示地址:mqtt.dreamlu.net 端口同上,账号:mica 密码:mica

📦️ 依赖

Spring boot 项目

客户端:

<dependency>
  <groupId>net.dreamlu</groupId>
  <artifactId>mica-mqtt-client-spring-boot-starter</artifactId>
  <version>${mica-mqtt.version}</version>
</dependency>

配置详见mica-mqtt-client-spring-boot-starter 使用文档

服务端:

<dependency>
  <groupId>net.dreamlu</groupId>
  <artifactId>mica-mqtt-server-spring-boot-starter</artifactId>
  <version>${mica-mqtt.version}</version>
</dependency>

配置详见mica-mqtt-server-spring-boot-starter 使用文档

solon 项目

客户端:

<dependency>
  <groupId>net.dreamlu</groupId>
  <artifactId>mica-mqtt-client-solon-plugin</artifactId>
  <version>${mica-mqtt.version}</version>
</dependency>

配置详见mica-mqtt-client-solon-plugin 使用文档

服务端:

<dependency>
  <groupId>net.dreamlu</groupId>
  <artifactId>mica-mqtt-server-solon-plugin</artifactId>
  <version>${mica-mqtt.version}</version>
</dependency>

配置详见mica-mqtt-server-solon-plugin 使用文档

JFinal 项目

客户端:

<dependency>
  <groupId>net.dreamlu</groupId>
  <artifactId>mica-mqtt-client-jfinal-plugin</artifactId>
  <version>${mica-mqtt.version}</version>
</dependency>

配置详见mica-mqtt-client-jfinal-plugin 使用文档

服务端:

<dependency>
  <groupId>net.dreamlu</groupId>
  <artifactId>mica-mqtt-server-jfinal-plugin</artifactId>
  <version>${mica-mqtt.version}</version>
</dependency>

配置详见mica-mqtt-server-jfinal-plugin 使用文档

其他项目

客户端:

<dependency>
  <groupId>net.dreamlu</groupId>
  <artifactId>mica-mqtt-client</artifactId>
  <version>${mica-mqtt.version}</version>
</dependency>

配置详见mica-mqtt-client 使用文档

服务端:

<dependency>
  <groupId>net.dreamlu</groupId>
  <artifactId>mica-mqtt-server</artifactId>
  <version>${mica-mqtt.version}</version>
</dependency>

配置详见mica-mqtt-server 使用文档

📝 文档

💡 参考vs借鉴

🏗️ mqtt 桌面工具

🍻 开源推荐

💚 鸣谢

感谢 JetBrains 提供的免费开源 License:

JetBrains

📱 微信

如梦技术

JAVA架构日记,精彩内容每日推荐!