EMQX 6.1.0 Released: Replayable MQTT Streams, Advanced Multi-Tenancy, and Expanded Integrations
EMQX 6.1.0 brings MQTT Streams for replayable messaging, enhanced multi-tenancy, and expanded data integration for enterprise-scale IoT.

EMQX 6.1.0 brings MQTT Streams for replayable messaging, enhanced multi-tenancy, and expanded data integration for enterprise-scale IoT.


Shared subscription is a new feature introduced by MQTT 5.0 protocol, which is equivalent to the load balancing function of subscribers.

In real business scenarios, many factors can affect the performance of MQTT messaging, such as hardware resources, OS parameters, and the QoS level used in communication. Therefore, it is more important for EMQ to help users master the performance testing methodology of MQTT Broker than to release performance data.

In this article, we will introduce the session mechanism of MQTT protocol, as well as Clean Start and Session Expiry Interval, two connection parameters used to manage the session lifecycle.

In this article, we will focus on the Payload Format Indicator and Content Type properties of MQTT 5.0, exploring how they make the parsing of messages more transparent and efficient.

This blog will provide a new solution to running MQTT on OpenWRT with NanoMQ. The better scalability and integrations make it a perfect alternative to Mosquitto.

In this blog, we will implement a simple MQTT client using lwIP's MQTT library, providing a reference for those who want to develop MQTT services and applications based on lwIP.

This blog will provide a step-by-step guide on how to connect a serverless MQTT broker in React using the MQTT.js library.

The Message Expiry Interval is a new feature introduced in MQTT 5.0, which allows the publisher to set an expiry interval for time-sensitive messages.

To achieve the Enhanced Authentication, MQTT introduced the AUTH packet to implement any number of authentication data exchanges, to support various types of authentication mechanisms, such as SCRAM, Kerberos authentication, and so on.

In MQTT, both the client and the server can send a DISCONNECT packet to the other party before disconnecting the network connection, indicating the reason for the connection closure.

MQTT has a type of packet used to simulate heartbeats between the client and server to maintain the connection. They are PINGREQ and PINGRESP packets, which we often call heartbeat packets.

In MQTT, the SUBSCRIBE packet is used to initiate a subscription request, while the SUBACK packet is used to return the subscription result. The UNSUBSCRIBE and UNSUBACK packets are used when unsubscribing.