Stream Core vs Stream Plugin
Overview
This section covers the differences between stream core and the stream plugin. Stream core designates stream features in the broker with only default plugins activated and through protocols like AMQP 0.9.1, MQTT, and STOMP.
Feature Matrix
Feature | Stream Core | Stream Plugin |
---|---|---|
Activation | Built-in | Must be activated |
Protocol | AMQP 0.9.1 | RabbitMQ Stream |
Clients | AMQP 0.9.1 clients (documentation) | RabbitMQ stream clients |
Port | 5672 | 5552 |
Format | Server-side AMQP 1.0 message format encoding and decoding | Client-side AMQP 1.0 message format encoding and decoding |
Sub-entry batching | Not supported | Supported (Java example) |
Offset tracking | Use external store | Built-in server-side support (Java example) or external store |
Publishing deduplication | Not supported | Supported (Java example) |
Super stream | Not supported | Supported |
Throughput | Hundreds of thousands per second | Millions messages per second |
TLS | Supported (default port: 5671) | Supported (default port: 5551) |
Interoperabilty
Streams store messages using the AMQP 1.0 message format.
- RabbitMQ Stream client libraries are expected to support the AMQP 1.0 message format
- The broker handles the conversion between AMQP 1.0 and AMQP 0.9.1 for AMQP 0.9.1 clients
- AMQP 0.9.1 and stream clients can write to and read from the same stream, but Sub-Entry Batching is not supported.
- RabbitMQ Stream supports the following section of the AMQP 1.0 message format:
- properties
- application properties
- application data
- message annotations