smart-mqtt v0.1 is the first release, domestic open source MQTT Broker server

smart-mqtt is an MQTT Broker service developed in java, and it is also the first truly IoT-oriented solution under the smartboot organization. It aims to help enterprises quickly build stable and reliable IoT services at a lower cost, and facilitate the interconnection of all things.

The underlying communication of smart-mqtt adopts the asynchronous non-blocking communication framework smart-socket, which has implemented the complete mqtt v3.1.1 protocol encoding and decoding specification, and will consider supporting mqtt v5.0 and other IoT protocols in the future.

project development

  • In 2018, the smart-mqtt project was created, and the basic protocol encoding and decoding structure was completed.
  • From 2019 to 2021, the project is basically in a state of suspension, during which the focus is on improving the performance of the underlying communication framework smart-socket.
  • In March 2022, restart smart-mqtt.

update content

  • ✅Support   MQTT v3.1.1 protocol standard
  • ✅Support   Qos0 , Qos1, Qos2 messaging.
  • ✅Support   will messages
  • ✅Support   retain message
  • ✅Support   heartbeat message
  • ✅Plug   -in design mode
  • ✅   mqtt client related functions
  • ✅Elegant   shutdown
  • ✅   Broker life cycle and various event monitoring
  • Client authentication
  • Support cluster deployment mode
  • Support wildcard subscription mode
  • Precise flow control
  • To be added. . .

Demo

Step 1: Start MQTT Broker

We can start the MQTT Broker service in two ways.

The first is to run the Boostrap program under the smart-mqtt-broker module after downloading the project source code (as shown in the figure below).

The second is to start the broker service through the binary distribution package, and then execute the start.sh script after entering the bin directory. The package download address is: https://gitee.com/smartboot/smart-mqtt/releases

Step 2: Start MQTT Client

smart-mqtt now provides relatively basic client capabilities, which can be started through the code shown in the figure below. Of course, you can also use any third-party client that follows the MQTT protocol to connect to the smart-mqtt broker.

References

  1. "MQTT Protocol 3.1.1 Chinese Version"
  2. carpet

At last

smart-mqtt is in the stage of code development, and there are still many imperfections in functions, documentation, and product planning. This project is not the most difficult among the open source works I have developed in the past, but it must be the most complex. It covers communication, MQTT protocol specification, message queue, distributed architecture, message quality, data persistence, etc. A series of technical challenges. It is conservatively estimated that it will take several months of research and development to make MQTT Broker mature for production applications. Friends who are interested in this project are welcome to leave a message for exchange.

Guess you like

Origin www.oschina.net/news/191159