跳至主内容
版本:4.2

RabbitMQ Core 与 Stream 插件

概述

本节介绍 RabbitMQ CoreStream 插件 之间的区别。Stream Core 指的是激活了默认插件的 Broker 中的流功能,通过 AMQP 0.9.1、AMQP 1.0、MQTT 和 STOMP 等协议实现。

功能矩阵

功能RabbitMQ CoreStream 插件
激活内置必须激活
协议AMQP 0.9.1 和 AMQP 1.0RabbitMQ Stream
客户端AMQP 0.9.1 客户端(文档)。AMQP 1.0 客户端(文档RabbitMQ Stream 客户端
端口56725552
格式服务器端 AMQP 1.0 消息格式编码和解码客户端 AMQP 1.0 消息格式编码和解码
子条目批处理支持(未压缩)支持(Java 示例)。客户端压缩选项
偏移量跟踪使用外部存储内置服务器端支持(Java 示例)或外部存储
发布去重不支持支持(Java 示例
超级流不支持支持
吞吐量每秒数十万每秒数百万消息
TLS支持(默认端口:5671)支持(默认端口:5551)

互操作性

Stream 使用 AMQP 1.0 消息格式存储消息。

  • RabbitMQ Stream 客户端库应支持 AMQP 1.0 消息格式
  • Broker 会处理 AMQP 0.9.1 客户端与 AMQP 1.0 之间的转换
  • AMQP 0.9.1、AMQP 1.0 和 Stream 客户端可以写入和读取相同的流。子条目批处理在未压缩的情况下受支持。
  • RabbitMQ Stream 支持 AMQP 1.0 消息格式的以下部分
    • properties
    • 应用程序属性
    • 应用程序数据
    • 消息注解

Stream 客户端子条目批处理压缩选项

压缩在客户端进行。可用的压缩实现

  • 无压缩
  • Gzip
  • Snappy
  • LZ4
  • Zstd

下表说明了多个 RabbitMQ Stream 协议客户端支持的选项

客户端支持无压缩GzipSnappyLZ4Zstd
Java
.NET通过接口通过接口通过接口
Go
Python通过接口通过接口通过接口
NodeJS
Rust
© . This site is unofficial and not affiliated with VMware.