Messaging Communication

These protocols facilitate messaging and communication 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

gRPC (Google Remote Procedure Call)

High-performance RPC framework using HTTP/2 and Protocol Buffers. Enables efficient, strongly typed client-server communication.

Microservices communication and API design

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

Spec: https://grpc.io/docs/ Transport: HTTP/2 IDL: Protocol Buffers

Main Features:

  • High-performance RPC using HTTP/2 and Protobuf

  • Supports streaming (client, server, bi-directional)

  • Strongly typed interfaces with cross-language support

  • Ideal for low-latency, high-throughput communication

Use Cases:

  • Microservice-to-microservice communication

  • API development for modern cloud apps

  • Backend communication in containerized systems

Alternative Protocols:

  • REST over HTTP – Widely used but less efficient

  • Thrift – Similar RPC protocol from Apache

  • SOAP – Heavier, XML-based RPC mechanism

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