通过 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%投递成功并被消费?(附源码)
当 RabbitMQ 交换不存在时如何处理错误(并且消息通过消息传递网关接口发送)
学成网 第5天 讲义-消息队列 RabbitMQ GridFS