Skip to content

Latest commit

 

History

History
145 lines (113 loc) · 6.66 KB

README.en.md

File metadata and controls

145 lines (113 loc) · 6.66 KB

🌐 mica mqtt

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

Gitcode Repo star star GitHub Repo stars Codacy Badge GitHub


📖English | 📖简体中文

mica-mqtt is a low-latency and high-performance mqtt Internet of Things component. For more usage details, please refer to the mica-mqtt-example module.

🍱 Use Cases

  • Internet of Things (cloud-based MQTT broker)
  • Internet of Things (edge messaging communication)
  • Group IM
  • Message push
  • Easy-to-use MQTT client

🚀 Advantages

  • Ordinary yet not monotonous, simple yet not lackluster.
  • Manual transmission (more conducive to secondary development or expansion).
  • A newborn calf; infinite possibilities.

✨ Features

  • Support for MQTT v3.1, v3.1.1, and v5.0 protocols.
  • Support for WebSocket MQTT sub-protocol (compatible with mqtt.js).
  • Support for HTTP REST API, see HTTP API Documentation for details.
  • Support for MQTT client.
  • Support for MQTT server.
  • Support for MQTT Will messages.
  • Support for MQTT Retained messages.
  • Support for custom message (MQ) processing and forwarding to achieve clustering.
  • MQTT client Alibaba Cloud MQTTHuaWei MQTT connection demo.
  • Support for GraalVM compilation into native executable programs.
  • Support for rapid access to Spring Boot、Solon and JFinal projects.
  • Support for integration with Prometheus + Grafana for monitoring.
  • Cluster implementation based on Redis pub/sub, see mica-mqtt-broker module for details.

🌱 To-do

  • Optimize the processing of MQTT sessions and support v5.0
  • Implement rule engine based on easy-rule + druid sql parsing.

🚨 Default Ports

Port Protocol Description
1883 tcp MQTT TCP port
8083 http, websocket HTTP API and WebSocket MQTT port

Demo Address: mqtt.dreamlu.net, same ports,username: mica password: mica

📦️ Dependencies

Spring Boot Project

Client:

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

Configuration Details: mica-mqtt-client-spring-boot-starter Documentation

Server:

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

Configuration Details: mica-mqtt-server-spring-boot-starter Documentation

Non-Spring Boot Project

Client:

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

Configuration Details: mica-mqtt-client Documentation

Server:

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

Configuration Details: mica-mqtt-server Documentation

📝 Documentation

💡 References

🏗️ MQTT Client Tools

🍻 Open Source Recommendations

💚 Acknowledgements

Thanks to JetBrains for providing a free open-source license:

JetBrains

📱 WeChat

DreamLuTech

JAVA Architecture Diary, daily recommended exciting content!