MQTT vs REST from IoT Implementation perspective

By Ranjith kumar DSM April 11, 2018

Most of the IoT Implementations today uses REST over HTTP based connectivity from the client to the Server. REST has its own limitation that pops in while your solution scales up to the larger number of devices and more number of translations per second. MQTT, the lightweight protocol designed exclusively for IoT has its advantage over REST in all dimensions. Bevywise MQTT Broker is the perfect middleware for secure mqtt cloud deployment. This blog compares MQTT vs REST to help you finalize your communication protocol.

Instant Response – Need of the hour

REST is a one-way connection. The connection to the server is intermittent. The client connects to the server when needed to push data from the client and pulls the data down to the client. The server needs to wait for the clients to connect to send the data that is intended for the client. Hence, this makes the user intended action to wait for the client connection. Most solution providers allow their edge server or their gateways to connect every 1 minute or higher so that the server is not loaded.

Take an example of an activating a light from a mobile app. The message from the mobile will hit the server instantly. But the message from the server to the client needs to wait for the time client to connect.

MQTT allows the client to be connected always providing a two way communication between the client and the server. This allows server to push the message to the edge device making the device respond to your command instantly as expected by Customers.

Must Read Other Related Post

When directly compared for the same data transfer using REST and MQTT, MQTT consumes 20% lesser power. But, In the case of the REST, most energy is lost on the resources used on connecting and disconnection and resource cleanup on both the server and the client. So when you build a battery operated remote device, MQTT helps you with longer battery life than REST.

Highly Secure IoT Device Deployments

Most of the devices today are deployed behind the firewall for security reasons. One of the limitations of the REST is that the server can no way communicate from the server to the client on demand. Even if we put a REST Server on the client devices and try to make connections form the server, it will fail when devices are installed behind the firewall.  But MQTT inherently solves this problem of two-way communication with persistent connections.

MQTT vs REST Performance

MQTT is an always-connected against the intermittent REST Calls. Due to the permanent connection, the need to connect and disconnect for every data transfer is not required. The keep-alive ping has a much lesser overhead compared to the reconnection connection calls the REST makes. As per the analysis and test reports, MQTT data transfer can transfer data at a rate 20 to 25 times faster than REST Calls.

The number of message transaction highly depends on the number of connections the server can accept in the stipulated time. The number of concurrent connections that the fastest available web server today will be in the order of 1000s per second. This restricts the data transfer in sequence. MQTT Broker can process up to 40,000 messages per second on a commodity server. The number of parallel connections the broker can hold can again be tweaked based on the hardware. A simple commodity server can hold up to 50,000 connections in parallel.

In a clear advantage, MQTT wins the MQTT vs REST choice for the IoT Implementation.  Try MQTT Broker the fastest MQTT Broker available today.

mqtt vs rest

Do write back your queries to Bevywise support.