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

EMQ X 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 EMQ X 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 EMQ X 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.

EMQ X 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 EMQ X 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 EMQ X broker.

The new architecture of EMQ X 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 EMQ X 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.

Follow Us

Related Posts

IIoT Community, new release, and more - EMQ X Newsletter 202109

Early September, a few of us in the team got invited by the guys from Industry 4.0 Solutions to the Company Spotlight online event.

2021-10-15
EMQ X project newsletter 202101

Hello! This is our very first newsletter to share what’s happening in EMQ X open-source team.

Hot like the summer, EMQ X is on fire - EMQ X Newsletter 202108

EMQ X 5.0 has reached alpha.5 release. And we expect the first beta release to come soon.

2021-09-03