Messaging Protocols

These protocols facilitate messaging between distributed systems, supporting various patterns like publish/subscribe, remote procedure calls, and instant messaging.

Protocol

Description

Use Case

AMQP (Advanced Message Queuing Protocol)

Open standard protocol for message-oriented middleware. Supports reliable, secure messaging with queuing and routing.

Enterprise messaging, integration, and brokered communication

MQTT (Message Queuing Telemetry Transport)

Lightweight publish/subscribe messaging protocol. Designed for constrained devices and unreliable networks.

IoT device communication and telemetry

XMPP (Extensible Messaging and Presence Protocol)

XML-based protocol for messaging, presence, and contact list management. Used for instant messaging and real-time communication.

Chat applications, presence services, and real-time collaboration

RFC: RFC 8637

Main Features:

  • Open standard for message-oriented middleware

  • Provides reliable queuing, routing, security, and transactions

  • Uses exchanges and bindings to flexibly route messages

  • Supports guaranteed delivery, persistence, and acknowledgments

Use Cases:

  • Enterprise application integration

  • Brokered messaging between microservices

  • Reliable communication in distributed systems

Alternative Protocols:

  • MQTT – Simpler, lightweight option for constrained environments

  • Kafka – For event streaming and log-based processing

RFC: RFC 9166

Main Features:

  • Lightweight publish/subscribe messaging protocol

  • Designed for low-bandwidth, high-latency, or unreliable networks

  • Provides Quality of Service (QoS) levels for message delivery

  • Minimal overhead, ideal for embedded or mobile systems

Use Cases:

  • IoT telemetry and sensor data exchange

  • Smart home automation and remote monitoring

  • Mobile or constrained environments

Alternative Protocols:

  • AMQP – For full-featured messaging in enterprise systems

  • CoAP – Lightweight request/response protocol for IoT

RFCs: RFC 6120, RFC 6121

Main Features:

  • XML-based protocol for messaging and presence

  • Supports real-time chat, contact list management, and federation

  • Highly extensible via XMPP Extension Protocols (XEPs)

  • Decentralized and open standard

Use Cases:

  • Instant messaging and chat apps

  • Presence-aware communication

  • Multi-party chat rooms and conferencing

Alternative Protocols:

  • SIP/SIMPLE – Used for signaling and instant messaging

  • Matrix – Modern decentralized communication protocol