MQTT offers three Quality of Service levels (QoS) to ensure that data is communicated reliably. These meet the original design goals, which was a one-hop connection for remote devices to a central location. But they do not adequately serve the needs of Industrial IoT. A higher standard is necessary for IIoT backbone and other applications: guaranteed consistency of data.
A recent white paper from Skkynet explains why message loss at MQTT QoS level 0 is unacceptable for IIoT, and how levels 1 and 2 can produce long queues that lead to catastrophic failures when data point values change quickly. This means that the choice of QoS level drives difficult compromises regarding performance and message order.

Additionally, QoS levels 1 and 2 don’t propagate well past the MQTT broker. Thus, the QoS promise cannot necessarily be kept among multiple clients. This is critical to any OT-to-IT or IIoT connection that relies on segregation of networks for security, such as DMZ-enabled architectures.

The recommended approach is to use an IIoT backbone protocol that offers more than QoS. What’s needed is guaranteed consistency of data from the source to the users. This is done by managing message queues for each point, preserving event order, and notifying clients of data quality changes. QoS may be relevant for one-hop connections, but other protocols that can guarantee data consistency must be used to meet the highest possible standards for IIoT backbone applications.



