What’s New

This section lists the new features introduced in EMQX 5.0 and 5.1.

Core + Replica Cluster Architecture

EMQX 5.0 adopts a new Mria cluster architecture. With this architecture, one EMQX cluster can support 100 million concurrent MQTT connectionsWhat’s New - 图1 (opens new window), and more, making it the world’s most scalable open-source MQTT broker.

100m-benckmark

Besides this obvious scalability improvement, the Mria cluster architecture is also capable of reducing the risk of brain-splitting and its effects in large-scale deployments, to empower our clients with more stable and reliable IoT data access services.

To get started, see Create an EMQX Cluster.

MQTT over QUIC

EMQX 5.0 introduced QUIC support (MQTT over QUIC) as an experimental feature and designs a unique messaging mechanism and management approach. In EMQX 5.1 we added QUIC multistreamWhat’s New - 图3 (opens new window) support and from now on consider this feature as “generally available”.

As the underlying transport protocol of the next-generation Internet protocol HTTP/3, QUICWhat’s New - 图4 (opens new window) can provide connectivity for the modern mobile Internet with less connection overhead and message latency compared to TCP/TLS protocols. Therefore, EMQX attempted to replace the transport layer of MQTT with QUIC, which led to the MQTT over QUIC.

TO evaluate MQTT over QUIC and verify how it could improve network connectivity, please read Use MQTT over QUIC.

Backup and Restore

EMQX 5.1 introduces a set of command-line tools for backup and restore, allowing you to export data and configuration files from the built-in database as a compressed package and restore them to a new cluster.

Create a backup:

  1. $ ./bin/emqx ctl data export
  2. ...
  3. Data has been successfully exported to data/backup/emqx-export-2023-06-21-14-07-31.592.tar.gz.

Restore a backup:

  1. ./bin/emqx ctl data import <File>

Try Backup and Restore now.

Redesigned IoT Data Integration

Besides SQL, EMQX 5.1 Rule Engine also supports jqWhat’s New - 图5 (opens new window), so it is capable of handling more complex JSON data formats.

Support sending data to WebHook or establishing bidirectional data bridging with external MQTT services.

EMQX visualizes the data integration process with the Flows feature on Dashboard. Now you can easily check how the rules engine processes IoT data and how data flows to external data services or devices.

On different data bridging that EMQX supports and how to configure, see Data Bridges.

Flexible Authentication/Authorization

EMQX 5.1 offers a built-in client authentication/authorization feature, users only need to do some simple configuration work before integrating with various data sources for user authentication and ensuring data security under various scenarios.

New features

  • Support using Dashboard for the authentication/authorization configuration on the cluster level;
  • Support using Dashboard for configuration, commissioning and management;
  • Support adjusting the running order of the authenticators and authorization checkers;
  • Achieve complete observability with statistics on execution speed and number of times;
  • Support authentication configuration on a listener-level, to provide more flexible access capabilities.

On how to run authentication/authorization configuration with EMQX Dashboard or configuration files, you can continue to read Access Control.

User-Friendly EMQX Dashboard

In EMQX 5.1, we have redesigned the EMQX Dashboard, enhancing the visual experience and supporting more powerful and user-friendly features.

New features

  • New UI/UX design: Great enhancement of real-time observability
  • Optimized menu structure: Fast and direct access to contents
  • Data monitoring and management: Important data at a glance
  • Visualized access control: Out-of-the-box authentication/authorization management
  • Visualized data flows: Using Flows users can clearly see how data flows from devices or clients through the rule engine
  • Configuration updates during runtime: Hot update that takes effect immediately

Cloud Native and EMQX Operator

Horizontal expansion and elastic clusters are features that a cloud-native application must support.

EMQX Kubernetes OperatorWhat’s New - 图6 (opens new window) lets you take full advantage of the Replicant node of EMQX 5.0. You can deploy a stateless EMQX node with Kubernetes Deployment and then build the EMQX cluster that supports large-scale MQTT connections and message throughput.

New Gateway Framework

EMQX 5.1 presents a new extended gateway framework with reconstructed underlying architecture for multi-protocol access and a unified configuration format and management interface:

  • Unified statistic and monitoring indicators: EMQX 5.0 provides the gateway/client-level statistic indicators, for example, number of bytes sent and received, messages, etc.
  • Independent connection and session management: Different from EMQX 4.x, gateway clients are also managed under the MQTT client list, EMQX 5.0 has created an independent gateway page for each gateway, and one Client ID can be reused across gateways.
  • Independent client authentication: Different from EMQX 4.x, where the gateway authentication is also managed under the MQTT client, EMQX 5.0 supports configuring a unique authentication mechanism for each gateway.
  • Easy to expand with clear specifications: The framework provides a set of standard concepts and interfaces to make it easier to customize the gateways.

The new gateway framework further improves EMQX’s usability by unifying access and managing multiple protocols. Now clients implementing third-party protocols can also leverage the advantages of EMQX, such as data integration, safe and reliable authentication/authorization, billion-level horizontal expansion capabilities, etc.

More Feature Updates

Simplified configuration

The emqx.conf configuration file has been changed to a concise and readable HOCON format, and contains commonly used configuration items by default, to improve the readability and maintainability.

Improved REST API

Provide REST API compliant with the OpenAPI 3.0 specification, as well as clear and rich API documentation.

Rapid troubleshooting

Provide more diagnostic tools such as slow subscriptions and online tracing so users can quickly troubleshoot issues in production.

Structured logs

More user-friendly structured logs and JSON format is also supported. Error logs is flagged with ‘msg’ to facilitate locating the cause of the problem.

Flexible expansion and customization

Provide a new plugin architecture, with which users can compile, distribute, and install their extension plugins in the form of independent plugin packages to customize and extend the usage of EMQX.