The Navixy AppLink transport mechanism provides the link between the Navixy IoT Gateway and the target applications. This system enables the efficient transmission of IoT data from the gateway to the applications in real time, facilitating prompt response and effective utilization of the data.
Our primary protocol for this purpose is MQTT (Message Queuing Telemetry Transport), a lightweight, open-standard, publish-subscribe protocol. MQTT is designed for devices transmitting data over potentially unreliable networks, making it an ideal choice for IoT applications. The following are the MQTT methods implemented within Navixy AppLink:
MQTT over TCP: The standard and default method of MQTT communication, using a persistent network connection for reliable, low-latency data delivery.
MQTT over SSL/TLS (Secure Sockets Layer/Transport Layer Security): When additional security measures are required, SSL/TLS can be employed to ensure encrypted and secure transmission of MQTT messages across the network. This ensures the confidentiality and integrity of the data being exchanged.
MQTT over WebSocket: In specific cases where an application or device resides behind a firewall that only allows outgoing HTTP/S connections, MQTT can be run over WebSocket. This provides a full-duplex communication channel over a single TCP connection.
Each MQTT message is structured in a JSON format, enabling a wide range of applications to easily parse and use the data.
The Navixy AppLink uses the MQTT protocol as a central part of its data transport mechanism. MQTT is a lightweight publish/subscribe messaging protocol, which is ideal for the real-time transfer of IoT data.
Currently, Navixy AppLink supports MQTT version 3.1.1. This version is widely used, well-supported, and known for its reliability and effectiveness in various deployment environments. It offers a mature and robust framework for the transmission of real-time data from Navixy IoT Gateway to the respective applications.
Although Navixy AppLink currently does not support MQTT v5, it is a part of our future roadmap. MQTT v5 offers expanded features and improved capabilities, such as enhanced authentication, shared subscriptions, and user properties. When transitioning to MQTT v5, we will evaluate our infrastructure readiness, the compatibility of client devices, and the necessity of specific features that MQTT v5 offers to ensure a seamless transition and maximum utilization of its features.
Apache Kafka (Optional)
For high-volume data pipelines or more complex data processing needs, Navixy AppLink also supports Apache Kafka. This distributed event streaming platform is known for its fault-tolerance, scalability, and low-latency capabilities, making it a robust choice for high-demand, real-time data streaming.
The choice between MQTT and Kafka as a transport mechanism should be made based on the specifics of the applications that will be consuming the data, the data volume, and the system requirements.