Stream Core 与 Stream Plugin
概述
本节介绍 stream core 和 stream plugin 之间的区别。Stream core 指的是 broker 中仅激活默认插件并通过 AMQP 0.9.1、AMQP 1.0、MQTT 和 STOMP 等协议实现的 stream 功能。
功能矩阵
功能 | Stream Core | Stream Plugin |
---|---|---|
激活 | 内置 | 必须激活 |
协议 | AMQP 0.9.1 和 AMQP 1.0 | RabbitMQ Stream |
客户端 | AMQP 0.9.1 客户端 (文档). AMQP 1.0 客户端 (文档) | RabbitMQ stream 客户端 |
端口 | 5672 | 5552 |
格式 | 服务器端 AMQP 1.0 消息格式编码和解码 | 客户端 AMQP 1.0 消息格式编码和解码 |
子条目批处理 | 不支持 | 支持 (Java 示例) |
偏移量跟踪 | 使用外部存储 | 内置服务器端支持 (Java 示例) 或外部存储 |
发布去重 | 不支持 | 支持 (Java 示例) |
超级 stream | 不支持 | 支持 |
吞吐量 | 每秒数十万条 | 每秒数百万条消息 |
TLS | 支持 (默认端口: 5671) | 支持 (默认端口: 5551) |
互操作性
Streams 使用 AMQP 1.0 消息格式存储消息。
- RabbitMQ Stream 客户端库应支持 AMQP 1.0 消息格式
- broker 处理 AMQP 1.0 和 AMQP 0.9.1 之间针对 AMQP 0.9.1 客户端的转换
- AMQP 0.9.1 和 stream 客户端可以写入和读取相同的 stream,但不支持子条目批处理。
- RabbitMQ Stream 支持 AMQP 1.0 消息格式的以下部分
- 属性
- 应用属性
- 应用数据
- 消息注解