Movement — how data flows between systems

Messaging

5 open standards for Messaging in a modern data architecture, each with an opinionated judgement: Adopt, Situational, Assess, or Caution.

Start with Kafka and CloudEvents.

Adopt 2 standards

The standard to reach for in new work. Proven, multi-vendor, clearly the default for its slot.

  • Kafka — Apache Kafka

    The streaming backbone; competitors challenge the implementation, not the category.

    Apache Software Foundation

  • CloudEvents

    Default event envelope; HTTP/Kafka/AMQP/MQTT bindings all standardised.

    CNCF (Graduated)

Situational 2 standards

The right answer in some contexts but not others. Pick deliberately based on the constraint.

  • MQTT — Message Queuing Telemetry Transport

    Excellent in IoT/edge, irrelevant outside it.

    OASIS

  • AMQP — Advanced Message Queuing Protocol

    Pick when you want broker semantics (RabbitMQ-shaped problems).

    OASIS

Caution 1 standard

We'd avoid it for new work — superseded or fading, but still encountered in existing systems.

  • JMS — Jakarta Messaging (formerly Java Message Service)

    Java-only messaging API; maintain if you have it, don't pick it new.

    Eclipse Foundation (Jakarta EE); originally JCP

More in Movement

Movement covers how data flows between systems.

See Messaging in context

These standards are one panel of the interactive Data Landscape, which maps every open standard a modern data architecture is built on. The underlying data is a single JSON file; disagree with a judgement? Open an issue.