Skip to main content

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

FeatureStream CoreStream Plugin
ActivationBuilt-inMust be activated
ProtocolAMQP 0.9.1RabbitMQ Stream
ClientsAMQP 0.9.1 clients (documentation)RabbitMQ stream clients
Port56725552
FormatServer-side AMQP 1.0 message format encoding and decodingClient-side AMQP 1.0 message format encoding and decoding
Sub-entry batchingNot supportedSupported (Java example)
Offset trackingUse external storeBuilt-in server-side support (Java example) or external store
Publishing deduplicationNot supportedSupported (Java example)
Super streamNot supportedSupported
ThroughputHundreds of thousands per secondMillions messages per second
TLSSupported (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