Menu

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

Getting Help and Providing Feedback

If you have questions about the contents of this guide or any other topic related to RabbitMQ, don't hesitate to ask them using GitHub Discussions or our community Discord server.

Help Us Improve the Docs <3

If you'd like to contribute an improvement to the site, its source is available on GitHub. Simply fork the repository and submit a pull request. Thank you!