Destination Support Matrix¶
This page provides a comprehensive cross-reference of message brokers and the destinations KETE supports for each.
Quick Reference Matrix¶
| Broker | AMQP 0.9.1 | AMQP 1.0 | MQTT 3 | MQTT 5 | STOMP | Kafka | Redis | NATS | Pulsar | HTTP | WebSocket |
|---|---|---|---|---|---|---|---|---|---|---|---|
| RabbitMQ | ✅ | ✅ 4.0+ | ✅ Plugin | ✅ Plugin | ✅ Plugin | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ Plugin |
| LavinMQ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ |
| Redis | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ |
| Valkey | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ |
| Dragonfly | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ |
| KeyDB | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ |
| Microsoft Garnet | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ |
| Amazon ElastiCache | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ |
| Azure Cache for Redis | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ |
| Google Cloud Memorystore | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ |
| Upstash | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ |
| ActiveMQ Artemis | ❌ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
| ActiveMQ Classic | ❌ | ✅ | ✅ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
| Eclipse Mosquitto | ❌ | ❌ | ✅ | ✅ 2.0+ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ |
| HiveMQ | ❌ | ❌ | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ |
| HiveMQ Cloud | ❌ | ❌ | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ |
| EMQX | ❌ | ❌ | ✅ | ✅ | ✅ Gateway | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ |
| EMQX Cloud | ❌ | ❌ | ✅ | ✅ | ✅ Gateway | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ |
| NanoMQ | ❌ | ❌ | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ |
| VerneMQ | ❌ | ❌ | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ |
| Apache Qpid | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
| IBM MQ | ❌ | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
| NATS Server | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ |
| Synadia Cloud | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ |
| Apache Pulsar | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | ❌ | ❌ |
| StreamNative Cloud | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | ❌ | ❌ |
| DataStax Astra Streaming | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | ❌ | ❌ |
| Azure Service Bus | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | ❌ |
| Azure Event Hubs | ❌ | ✅ | ❌ | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ | ✅ | ❌ |
| Azure Event Grid | ❌ | ❌ | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | ✅ |
| Apache Kafka | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ |
| Amazon MSK | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ |
| Redpanda | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ |
| Confluent Cloud | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ |
| Aiven for Kafka | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ |
| Strimzi | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ |
| Solace PubSub+ | ❌ | ❌ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | ✅ | ✅ |
| AWS IoT Core | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | ✅ |
| Azure IoT Hub | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | ❌ |
Multi-Protocol Brokers¶
These brokers support multiple protocols, giving you flexibility in how you connect:
RabbitMQ¶
RabbitMQ is highly versatile, supporting many protocols via plugins:
| Protocol | KETE Destination | Port | Notes |
|---|---|---|---|
| AMQP 0.9.1 | amqp-0.9.1 |
5672 | Native protocol |
| AMQP 1.0 | amqp-1 |
5672 | Native in RabbitMQ 4.0+ |
| MQTT 3.1.1 | mqtt-3 |
1883 | Via rabbitmq_mqtt plugin |
| MQTT 5 | mqtt-5 |
1883 | Via rabbitmq_mqtt plugin (3.13+) |
| STOMP | stomp |
61613 | Via rabbitmq_stomp plugin |
Quickstarts available: amqp-0.9.1-rabbitmq, amqp-1-rabbitmq, mqtt-3-rabbitmq, mqtt-5-rabbitmq, stomp-rabbitmq
ActiveMQ Artemis¶
Apache ActiveMQ Artemis is a high-performance multi-protocol broker:
| Protocol | KETE Destination | Port | Notes |
|---|---|---|---|
| AMQP 1.0 | amqp-1 |
5672 | Native support |
| MQTT 3.1.1 | mqtt-3 |
1883 | Native support |
| MQTT 5 | mqtt-5 |
1883 | Native support |
| STOMP | stomp |
61613/61616 | Requires anycastPrefix config (see STOMP docs) |
Quickstarts available: amqp-1-activemq, stomp-activemq, stomp-artemis
EMQX¶
EMQX is a high-performance MQTT broker with multi-protocol gateway support:
| Protocol | KETE Destination | Port | Notes |
|---|---|---|---|
| MQTT 3.1.1 | mqtt-3 |
1883 | Native support |
| MQTT 5 | mqtt-5 |
1883 | Full MQTT 5 compliance |
| STOMP | stomp |
61613 | Via STOMP gateway |
Quickstarts available: mqtt-3-emqx, mqtt-5-emqx
Solace PubSub+¶
Solace supports multiple open protocols:
| Protocol | KETE Destination | Port | Notes |
|---|---|---|---|
| MQTT 3.1.1 | mqtt-3 |
1883 | Native support |
| MQTT 5 | mqtt-5 |
1883 | Native support |
| STOMP | stomp |
61613 | Native support |
Apache Pulsar¶
Apache Pulsar is a cloud-native, distributed messaging and streaming platform:
| Protocol | KETE Destination | Port | Notes |
|---|---|---|---|
| Pulsar | pulsar |
6650 | Native protocol, TLS support on 6651 |
Quickstarts available: pulsar-apache
Use destination.kind=amqp-0.9.1:
- RabbitMQ - Primary target
- LavinMQ - Lightweight alternative
- CloudAMQP - Managed RabbitMQ
- Amazon MQ for RabbitMQ - AWS managed
Quickstarts available: amqp-0.9.1-rabbitmq, amqp-0.9.1-lavinmq
AMQP 1.0 Brokers¶
Use destination.kind=amqp-1:
- Apache ActiveMQ Artemis - Primary target
- RabbitMQ 4.0+ - Native AMQP 1.0 support
- Azure Service Bus - TLS required
- Azure Event Hubs - Event streaming
- Apache Qpid - Reference implementation
- Amazon MQ - Managed ActiveMQ
- Solace PubSub+ - Multi-protocol
Quickstarts available: amqp-1-activemq, amqp-1-azure-event-hubs, amqp-1-azure-service-bus, amqp-1-azure-service-bus-emulator, amqp-1-qpid, amqp-1-rabbitmq
See: AMQP 1 Destination
MQTT 3.1.1 Brokers¶
Use destination.kind=mqtt-3:
- Eclipse Mosquitto - Most popular open-source
- HiveMQ - Enterprise, clustering
- EMQX - High-performance
- VerneMQ - Distributed
- NanoMQ - Lightweight
- RabbitMQ - Via plugin
- Azure Event Grid - MQTT Broker feature
- Solace PubSub+ - Native
- AWS IoT Core - Managed
- Azure IoT Hub - Managed
Quickstarts available: mqtt-3-mosquitto, mqtt-3-emqx, mqtt-3-hivemq, mqtt-3-vernemq, mqtt-3-nanomq, mqtt-3-rabbitmq
See: MQTT 3 Destination
MQTT 5 Brokers¶
Use destination.kind=mqtt-5:
- HiveMQ - Full MQTT 5
- EMQX - Full MQTT 5
- Eclipse Mosquitto 2.0+ - MQTT 5 since v2.0
- VerneMQ - Full MQTT 5
- NanoMQ - Lightweight
- RabbitMQ - Via plugin (3.13+)
- Azure Event Grid - MQTT Broker
- Solace PubSub+ - Native
Quickstarts available: mqtt-5-mosquitto, mqtt-5-emqx, mqtt-5-hivemq, mqtt-5-vernemq, mqtt-5-nanomq, mqtt-5-rabbitmq, mqtt-5-azure-event-grid
See: MQTT 5 Destination
STOMP Brokers¶
Use destination.kind=stomp:
- ActiveMQ Classic - Native, widely deployed
- ActiveMQ Artemis - Native
- RabbitMQ - Via plugin
- EMQX - Via gateway
- Solace PubSub+ - Native
- Amazon MQ - Managed ActiveMQ
- TIBCO EMS - Native
Quickstarts available: stomp-activemq, stomp-artemis, stomp-rabbitmq, stomp-emqx
See: STOMP Destination
Kafka-Compatible Systems¶
Use destination.kind=kafka:
- Apache Kafka - Reference implementation
- Redpanda - Kafka-compatible
- Confluent Cloud - Managed Kafka
- Azure Event Hubs - Kafka protocol support
- Amazon MSK - Managed Kafka
- Aiven for Kafka - Managed
Quickstarts available: kafka-apache, kafka-redpanda, kafka-confluent, kafka-azure-event-hubs, kafka-azure-event-hubs-emulator
See: Kafka Destination
Redis-Compatible Systems¶
Use destination.kind=redis-pubsub or destination.kind=redis-streams:
- Redis - Open-source, in-memory data store
- Redis Stack - Redis with additional modules
- Valkey - Redis fork, fully compatible
- Dragonfly - Redis-compatible, multi-threaded
- KeyDB - Redis-compatible, multi-threaded
- Amazon ElastiCache - AWS-managed Redis
- Azure Cache for Redis - Azure-managed Redis
- Google Cloud Memorystore - GCP-managed Redis
- Upstash - Serverless Redis
Quickstarts available (Pub/Sub): redis-pubsub-redis, redis-pubsub-valkey, redis-pubsub-dragonfly, redis-pubsub-keydb, redis-pubsub-azure-cache-for-redis, redis-pubsub-upstash
Quickstarts available (Streams): redis-streams-redis, redis-streams-valkey, redis-streams-dragonfly, redis-streams-keydb, redis-streams-azure-cache-for-redis, redis-streams-upstash
See: Redis Pub/Sub Destination, Redis Streams Destination
NATS-Compatible Systems¶
Use destination.kind=nats or destination.kind=nats-jetstream:
- NATS Server - Open-source messaging system
- Synadia Cloud - Managed NATS service
- NATS Kubernetes - Self-hosted NATS on Kubernetes
Quickstarts available: nats-nats-server, nats-jetstream-nats-server
See: NATS Destination, NATS JetStream Destination
Choosing the Right Protocol¶
Decision Guide¶
Is your broker RabbitMQ or LavinMQ?
├── Yes → Use amqp-0.9.1 (native protocol, best performance)
└── No → Continue...
Is your broker Kafka, Redpanda, or Event Hubs (Kafka mode)?
├── Yes → Use kafka
└── No → Continue...
Is your broker Redis, ElastiCache, Azure Cache for Redis, Dragonfly, KeyDB, or Upstash?
├── Yes → Do you need message persistence?
│ ├── Yes → Use redis-streams (persistent, consumer groups, headers)
│ └── No → Use redis-pubsub (fire-and-forget, lower latency)
└── No → Continue...
Is your broker NATS Server or Synadia Cloud?
├── Yes → Do you need message persistence?
│ ├── Yes → Use nats-jetstream (persistent, acknowledgments)
│ └── No → Use nats (fire-and-forget, lowest latency)
└── No → Continue...
Is your broker ActiveMQ Artemis, Azure Service Bus, or Qpid?
├── Yes → Use amqp-1
└── No → Continue...
Is your broker an MQTT broker (Mosquitto, HiveMQ, EMQX, VerneMQ)?
├── Yes → Does it support MQTT 5?
│ ├── Yes → Use mqtt-5 (for user properties/headers)
│ └── No → Use mqtt-3
└── No → Continue...
Is your broker ActiveMQ Classic or needs STOMP?
├── Yes → Use stomp
└── No → Continue...
Is it a REST API, webhook, or HTTP endpoint?
├── Yes → Use http
└── No → Use websocket for generic WebSocket servers
Performance Considerations¶
| Protocol | Throughput | Latency | Best For |
|---|---|---|---|
kafka |
⭐⭐⭐⭐⭐ | ⭐⭐⭐ | High-volume event streaming |
pulsar |
⭐⭐⭐⭐⭐ | ⭐⭐⭐ | Multi-tenancy, geo-replication |
nats-jetstream |
⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ | Persistent messaging with acknowledgments |
nats |
⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ | Fire-and-forget, ultra-low latency |
redis-streams |
⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ | Persistent messaging, consumer groups |
redis-pubsub |
⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ | Fire-and-forget, lowest latency |
amqp-0.9.1 |
⭐⭐⭐⭐ | ⭐⭐⭐⭐ | RabbitMQ workloads |
amqp-1 |
⭐⭐⭐⭐ | ⭐⭐⭐⭐ | Enterprise messaging |
mqtt-5 |
⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ | IoT, lightweight clients |
mqtt-3 |
⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ | IoT, legacy support |
stomp |
⭐⭐⭐ | ⭐⭐⭐ | Text-based, debugging |
http |
⭐⭐ | ⭐⭐ | Webhooks, integrations |
websocket |
⭐⭐⭐ | ⭐⭐⭐⭐ | Real-time dashboards |
Available Quickstarts¶
All quickstarts are in the quick-starts/ directory:
| Protocol | Broker | Quickstart Folder |
|---|---|---|
| AMQP 0.9.1 | RabbitMQ | amqp-0.9.1-rabbitmq/ |
| AMQP 0.9.1 | LavinMQ | amqp-0.9.1-lavinmq/ |
| AMQP 1.0 | ActiveMQ | amqp-1-activemq/ |
| AMQP 1.0 | Azure Event Hubs | amqp-1-azure-event-hubs/ |
| AMQP 1.0 | Azure Service Bus | amqp-1-azure-service-bus/ |
| AMQP 1.0 | Azure Service Bus Emulator | amqp-1-azure-service-bus-emulator/ |
| AMQP 1.0 | Apache Qpid | amqp-1-qpid/ |
| AMQP 1.0 | RabbitMQ | amqp-1-rabbitmq/ |
| MQTT 3 | Mosquitto | mqtt-3-mosquitto/ |
| MQTT 3 | EMQX | mqtt-3-emqx/ |
| MQTT 3 | RabbitMQ | mqtt-3-rabbitmq/ |
| MQTT 3 | HiveMQ | mqtt-3-hivemq/ |
| MQTT 3 | VerneMQ | mqtt-3-vernemq/ |
| MQTT 3 | NanoMQ | mqtt-3-nanomq/ |
| MQTT 5 | Mosquitto | mqtt-5-mosquitto/ |
| MQTT 5 | EMQX | mqtt-5-emqx/ |
| MQTT 5 | HiveMQ | mqtt-5-hivemq/ |
| MQTT 5 | Azure Event Grid | mqtt-5-azure-event-grid/ |
| MQTT 5 | RabbitMQ | mqtt-5-rabbitmq/ |
| MQTT 5 | VerneMQ | mqtt-5-vernemq/ |
| MQTT 5 | NanoMQ | mqtt-5-nanomq/ |
| STOMP | ActiveMQ | stomp-activemq/ |
| STOMP | Artemis | stomp-artemis/ |
| STOMP | RabbitMQ | stomp-rabbitmq/ |
| STOMP | EMQX | stomp-emqx/ |
| Kafka | Apache Kafka | kafka-apache/ |
| Kafka | Azure Event Hubs | kafka-azure-event-hubs/ |
| Kafka | Azure Event Hubs Emulator | kafka-azure-event-hubs-emulator/ |
| Kafka | Redpanda | kafka-redpanda/ |
| Kafka | Confluent | kafka-confluent/ |
| Redis Pub/Sub | Redis | redis-pubsub-redis/ |
| Redis Pub/Sub | Valkey | redis-pubsub-valkey/ |
| Redis Pub/Sub | Dragonfly | redis-pubsub-dragonfly/ |
| Redis Pub/Sub | KeyDB | redis-pubsub-keydb/ |
| Redis Pub/Sub | Azure Cache for Redis | redis-pubsub-azure-cache-for-redis/ |
| Redis Pub/Sub | Upstash | redis-pubsub-upstash/ |
| Redis Streams | Redis | redis-streams-redis/ |
| Redis Streams | Valkey | redis-streams-valkey/ |
| Redis Streams | Dragonfly | redis-streams-dragonfly/ |
| Redis Streams | KeyDB | redis-streams-keydb/ |
| Redis Streams | Azure Cache for Redis | redis-streams-azure-cache-for-redis/ |
| Redis Streams | Upstash | redis-streams-upstash/ |
| NATS | NATS Server | nats-nats-server/ |
| NATS JetStream | NATS Server | nats-jetstream-nats-server/ |
| Pulsar | Apache Pulsar | pulsar-apache/ |
| HTTP | Azure Event Grid | http-azure-event-grid/ |
| HTTP | Webhook | http-webhook/ |
| WebSocket | Echo Server | websocket-echo/ |