Edit this page

A protocol binding defines how you transport Ditto Protocol messages over a specific network protocol (e.g., “Ditto Protocol over WebSocket”).

TL;DR: Ditto supports seven protocol bindings – WebSocket, AMQP 1.0, AMQP 0.9.1, MQTT 3.1.1, MQTT 5, HTTP 1.1, and Kafka 2.x. Each binding maps Ditto Protocol JSON messages to its transport format.

Overview

Each binding specifies rules for mapping Ditto Protocol messages to transport-specific messages and back. The Ditto Protocol message format stays the same; only the transport wrapper changes.

Supported bindings

Binding Documentation
WebSocket WebSocket binding
AMQP 1.0 AMQP 1.0 binding
AMQP 0.9.1 AMQP 0.9.1 binding
MQTT 3.1.1 MQTT 3.1.1 binding
MQTT 5 MQTT 5 binding
HTTP 1.1 HTTP 1.1 binding
Kafka 2.x Kafka 2.x binding

Content type

When you send messages that are already in Ditto Protocol format, specify this content type in the transport-specific way:

application/vnd.eclipse.ditto+json

All change notifications emitted by Ditto also carry this content type.

For messages that are not yet in Ditto Protocol format, use payload mapping in Ditto’s connectivity service to transform them.

Further reading

Tags: protocol