• Cogent DataHub
  • Industrial
    • Industrial AI
    • Industrial IoT
      • Edge Computing
      • DHTP – The DataHub Transfer Protocol
      • IIoT Protocol Comparison
      • Demo
    • Cogent DataHub
    • Security
    • DataHub™ Service
    • ETK – Embedded Toolkit
      • IoT Gateways
      • Tested Devices
  • Case Studies
    • Blog
    • White Papers
    • News
  • Partners
    • Microsoft
    • Siemens
    • AVEVA
    • Join Now!
  • Investors
    • Financials
  • About Us
    • Management
    • Customers
    • Careers
    • Legal Notices
  • Click to open the search input field Click to open the search input field Search
  • Menu Menu

Is MQTT the Answer for IIoT?

by Andrew Thomas
Part 8 of Data Communication for Industrial IoT

MQTT, or Message Queue Telemetry Transport, is a publish/subscribe messaging protocol that was originally created for resource-constrained devices over low-bandwidth networks. It is being actively promoted as an IoT protocol because it has a small footprint, is reasonably simple to use, and features “push” architecture.

MQTT works by allowing data sources like hardware devices to connect to a server called a “broker”, and publish their data to it. Any device or program that wants to receive the data can subscribe to that channel. Programs can act as both publishers and subscribers simultaneously. The broker does not examine the data payload itself, but simply passes it as a message from each publisher to all subscribers.

The publish/subscribe approach has advantages for general IoT applications. “Push” architecture is inherently more secure, because it avoids the client-server architecture problem, allowing devices to make outbound connections without opening any firewall ports. And, by using a central broker, it is possible to establish many-to-many connections, allowing multiple devices to connect to multiple clients. MQTT seems to solve the communication and security problems I have identified in previous posts.

Despite these architectural advantages, though, MQTT has three important drawbacks that raise questions about its suitability for many IIoT systems and scenarios.

MQTT is a messaging protocol, not a data protocol

MQTT is a messaging protocol, not a data communications protocol. It acts as a data transport layer, similar to TCP, but it does not specify a particular format for the data payload. The data format is determined by each client that connects, which means there is no interoperability between applications. For example, if data publisher A and subscriber B have not agreed on their data format in advance, it’s not likely that they’ll be able to communicate. They might send and receive messages via MQTT, but they’ll have no clue to what they mean.

Imagine an industrial device that talks MQTT, say a chip on a thermometer. Now, suppose you have an HMI client that supports MQTT, and you want to display the data from the thermometer. You should be able to connect them, right? In reality, you probably can’t. This is not OPC or some other industrial protocol that has invested heavily into interoperability. MQTT is explicitly not interoperable. It specifies that each client is free to use whatever data payload format it wants.

How can you make it work? You must either translate data protocols for each new connected device and client, or you need to source all devices, programs, HMIs, etc. from a single vendor, which quickly leads to vendor lock-in.

The broker cannot perform intelligent routing

MQTT brokers are designed to be agnostic to message content. This design choice can cause problems for industrial applications communicating over the IoT. Here are a few reasons why:

1) The broker cannot be intelligent about routing, based on message content. It simply passes along any message it gets. Even if a value has not changed, the message gets sent. There is no damping mechanism, so values can “ring” back and forth between clients, leading to wasted system resources and high bandwidth use.

2) The broker cannot distinguish between messages that contain new or previously transmitted values, to maintain consistency. The only alternative is to send all information to every client, consuming extra bandwidth in the process.

3) There is no supported discovery function because the broker is unaware of the data it is holding. A client cannot simply browse the data set on the broker when it connects. Rather, it needs to have a list of the topics from the broker or the data publisher before making the connection. This leads to duplication of configuration in every client. In small systems this may not be a problem, but it scales very poorly.

4) Clients cannot be told when data items become invalid. In a production system a client needs to know that the source of data has been disconnected, whether due to a network failure or an equipment failure. MQTT brokers do not have sufficient knowledge to do that. The broker would need to infer that when a client disconnects it needs to synthesize messages as if they had originated from that client indicating that the data in certain topics are no longer trustworthy. MQTT brokers do not know how to synthesize those messages, and since they don’t know the message format, they would not know what to put in them. For this reason alone MQTT is a questionable choice in a production environment.

5) There is no opportunity to run scripts or otherwise manipulate the data in real time to perform consolidation, interpretation, unit conversion, etc. Quite simply, if you don’t know the data format you cannot process it intelligently.

No acceptable quality of service

MQTT defines 3 levels of quality of service (QoS), none of which is right for the IIoT. This is an important topic and one that I have gone into depth about in a previous post (see Which Quality of Service is Right for IIoT?). MQTT might work for small-scale prototyping, but its QoS failure modes make it impractical at industrial scale.

In summary, although the MQTT messaging protocol is attracting interest for IoT applications, it is not the best solution for Industrial IoT.

Continue reading, or go back to Table of Contents

Share this entry
  • Share on Facebook
  • Share on X
  • Share on WhatsApp
  • Share on LinkedIn
  • Share by Mail
https://skkynet.com/media/2017/07/TechTalks-IIoTDataComms-8.jpeg 430 1000 Andrew Thomas https://skkynet.com/media/skkynet-logo.svg Andrew Thomas2017-07-27 14:56:572020-11-11 15:44:01Is MQTT the Answer for IIoT?

Data Communication for Industrial IoT

How the IoT can be used for industrial data communication without compromising mission-critical standards for security and robust performance.
– See all topics

Real-time IIoT demo
  • Wood processing plant case study - banner
    Case Study: Wood Processing Plant in North America
  • case-study-heritage-petroleum
    Case Study: Heritage Petroleum, Trinidad and Tobago
  • wind-turbine-control-usa
    Case Study: Wind Turbine Control, USA
X Logo X Logo Followon X RSS Feed Logo RSS Feed Logo Subscribeto RSS Feed
About Us Icon white

About Us

Skkynet has been helping organizations securely share real-time data for more than 25 years. We offer privately-hosted or fully managed solutions for moving data in industrial, embedded and financial systems, from anywhere to anywhere.

News

January 28, 2026

Skkynet Reports Fiscal 2025 Financial Results: Subscription Revenue Surges 268% Amidst Strategic Pivot to AI and SaaS

December 18, 2025

Skkynet Announces C$2.6 Million Industrial AI Product Development Initiative

December 16, 2025

Skkynet Appoints M&A and Software Executive Shaunna Balady to Advisory Board

December 9, 2025

Skkynet Appoints Industry Veteran Gary Tillery as Chief Executive Officer

Contact us icon white

Contact Us

Skkynet
2233 Argentia Road, Suite 302
Mississauga, ON L5N 2X7

International: 1-905-702-7851

US/CA Toll Free: 1-888-702-7851

[email protected]

Skkynet logo white

Cogent DataHub | Industrial | Case Studies | Partners | Investors | About us

Back to Top

linkedIn logotwitter logoyoutube logo

© 2026 Skkynet | All rights reserved | Legal notices
Link to: Is UDP the Answer for IIoT? Link to: Is UDP the Answer for IIoT? Is UDP the Answer for IIoT? Link to: Is OPC UA the Answer for IIoT? Link to: Is OPC UA the Answer for IIoT? Is OPC UA the Answer for IIoT?
Scroll to top Scroll to top Scroll to top

We are using cookies to give you the best experience on our website.

You can find out more about which cookies we are using or switch them off in .

Skkynet logo
Powered by  GDPR Cookie Compliance
Privacy Overview

This website uses cookies so that we can provide you with the best user experience possible. Cookie information is stored in your browser and performs functions such as recognising you when you return to our website and helping our team to understand which sections of the website you find most interesting and useful.

Strictly Necessary Cookies

Strictly Necessary Cookie should be enabled at all times so that we can save your preferences for cookie settings.

3rd Party Cookies

This website uses Google Analytics to collect anonymous information such as the number of visitors to the site, and the most popular pages.

Keeping this cookie enabled helps us to improve our website.

Cookie Policy

More information about our Cookie Policy