通过 RabbitMQ 发送文件

Posted

技术标签:

【中文标题】通过 RabbitMQ 发送文件【英文标题】:Send files through RabbitMQ 【发布时间】:2015-01-26 08:07:57 【问题描述】:

通过 RabbitMQ 发送大小约为 1Mb 的文件是个好主意吗?我想以 json 格式发送带有与文件对应的二进制字段的消息。

以及如何使用 spring-amqp 正确地做到这一点?只是通过下一个类发布对象?

class Message 
    String field1;
    byte[] fileField1;
    byte[] fileField2;

【问题讨论】:

阅读这里groups.google.com/forum/#!topic/rabbitmq-discuss/ZYsqJt422cQ Sending binary file through RabbitMQ 的可能重复项,另请参阅 ***.com/questions/22842096/… 【参考方案1】:

我建议不仅阅读发布的链接,还可以自己做一些实验。我会关心的是服务级别和客户端级别的性能。

您可能需要考虑让服务器托管文件/数据,并允许rabbitmq 将消息发送给带有消息ID 的消费者。因此,当您的消费者收到消息时,它会向请求实际消息有效负载的服务发送 HTTP GET 请求。这样 RabbitMQ 就保持轻量级。如果需要,您可以随时添加消费者和服务器。

这是我未经实验的意见。您可能会发现它仍然在 1MB 有效负载下快速点亮。这就是为什么我会说要自己尝试并找出答案。

希望对您有所帮助!

【讨论】:

以上是关于通过 RabbitMQ 发送文件的主要内容,如果未能解决你的问题,请参考以下文章

如何通过 SpringBoot+RabbitMQ 保证消息100%投递成功并被消费?(附源码)

Bluemix结合RabbitMq实现消息发送与接收实例

当 RabbitMQ 交换不存在时如何处理错误(并且消息通过消息传递网关接口发送)

学成网 第5天 讲义-消息队列 RabbitMQ GridFS

面临通过rabbitmq(amqp协议)从云向设备iot hub发送消息的问题

RabbitMQ--发布确认高级版