它取决于消息传输,每种消息传输都有其自己的消息大小限制。
从指导的角度来看,超过 64k 的消息确实会降低代理性能,超过 256k 的消息对于许多系统来说绝对是不行的。
| 运输 | 限制 |
|---|---|
| RabbitMQ | 无限 |
| Azure 服务总线 | 标准版 256 KB,高级版 1 MB |
| ActiveMQ | 无限 |
| 质量安全体系 | 256KB |
| 卡夫卡 | 1MB |
| Azure 事件中心 | 1MB |
较大的消息会影响整体系统性能,因此请记住这一点。例如,将 1 MB 消息放入 RabbitMQ 会显着损害性能,如果使用 HA/仲裁队列则更是如此。
MassTransit 通过消息数据支持声明检查模式,以在消息正文之外存储大量有效负载。