Skip to content

Latest commit

 

History

History
128 lines (99 loc) · 5.3 KB

README.en.md

File metadata and controls

128 lines (99 loc) · 5.3 KB

🌐 Dromara mica mqtt

Java CI JAVA 8 Mica Maven release GitHub

star star GitHub Repo stars


📖English | 📖简体中文

Dromara 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 Android native.
  • Support for MQTT server, support Android native.
  • 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.
  • Spring boot and Solon client plugins support session retention.
  • 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 handling of MQTT server sessions and simplify the use of MQTT 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>org.dromara.mica-mqtt</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>org.dromara.mica-mqtt</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>org.dromara.mica-mqtt</groupId>
  <artifactId>mica-mqtt-client</artifactId>
  <version>${mica-mqtt.version}</version>
</dependency>

Configuration Details: mica-mqtt-client Documentation

Server:

<dependency>
  <groupId>org.dromara.mica-mqtt</groupId>
  <artifactId>mica-mqtt-server</artifactId>
  <version>${mica-mqtt.version}</version>
</dependency>

Configuration Details: mica-mqtt-server Documentation

📝 Documentation

🏗️ MQTT Client Tools

🍻 Open Source Recommendations

📱 WeChat

DreamLuTech

JAVA Architecture Diary, daily recommended exciting content!