The Development Work for EMQX 5.0 is in Full Swing - EMQX Newsletter 202107

EMQX development work is in full swing this July. We have added some exciting features and made a breakthrough progress on the key tasks of version 5.0.

The new config file

Structure refactored

The new config structure will include only one file in HOCON format: the emqx.conf. It will cover all configurations related to emqx, including configurations for EMQX core (the broker), and for other applications or plugins. Relying on the characteristics of HOCON syntax, we redesigned a hierarchical configuration structure. This version of the configuration file will be more readable, editable, and maintainable.

Support runtime hot reloading

Most configuration entries of EMQX will take effect at runtime after modification, not requiring a restart of the service. What’s more, there will be HTTP APIs supporting configuration changes, as well as reloading.

EMQX new config file

The Swagger UI

Swagger UI to visualise HTTP interface interactively

Swagger UI is a popular HTTP API documentation tool that is visible and interactive. We are refactoring the HTTP APIs to conform to the OpenAPI specification. An OpenAPI specification file will be generated after building EMQX and it will then be used by the Swagger UI to render the HTTP API documents. Now (5.0-alpha.3) you can access this interactive document page at http://127.0.0.1:18083/api-docs.

swagger

api

The New Gateways

We introduced the concept of “Protocol Gateway“, and put all the IoT protocols like LwM2M, CoAP, STOMP, MQTT-SN and ExProto into it. This facilitates the integration of the IoT protocols to EMQX broker.

The new architecture of EMQX gateway supports creating multiple instances for one protocol. And the configuration format of these protocols will be unified. In terms of the code structure, we’ve added a common transport layer for gateways to increase the code reusability, we’ve refactored some code of MQTT-SN gateway so that it is not coupled with the EMQX core anymore. More similar work was done for other gateways, stay tuned for more updates.

Progress on authentication and authorizations

The new authentication component has supported the enhanced authentication, and authentication methods via HTTP and MongoDB. And we have improved the code for changing authentication methods via HTTP API.

The new authorization (an extension of the ACL concept) component now has support authorization methods via MySQL, PgSQL, MongoDB, Redis, and HTTP.

Try EMQX Cloud for Free
No credit card required
Get Started →

Related Posts

An exciting start of the cloud-native journey - EMQX Newsletter 202105

Although a lot of changes originally planned for v5 have been pushed earlier to v4.3, the greater remaining work for v5 is just getting started, and everybody is so pumped to get started.

2021-06-01
EMQX Newsletter 202103

In March, the focus of our work was on finalising 4.3 release as well as the design of EMQX Broker 5.0

2021-04-02
EMQX 4.4 new feature: a top view of slowest subscribers

As a MQTT broker admin, you may often want to know which clients are the slowest. We have a nice ‘top’ view for you.

2022-03-14