我在一家数字标牌公司工作,我们向网络上的各种机器发送大量动画/视频。我们过去曾使用ftp将文件从服务器应用程序(我们的内容管理系统)发送到播放内容的计算机。
是否可以在我们发送大文件的环境中使用RabbitMQ(某些视频的大小可能是千兆字节或更大)?大多数文件都很小,但偶尔我们会发送大型视频。
另外一些播放器机器将在稍后添加,这意味着排队必须是动态的(即添加播放器,所以现在我们可以向其发送内容)。 RabbitMQ可以这样配置吗? (从我看过的演示中,你必须在服务器和客户端应用程序启动之前预先创建队列。)
我们也可以保护文件的发送,以便发送应用程序在将内容发送到计算机之前必须登录(如登录FTP)?
答案 0 :(得分:2)
为了添加文件的动态使用者您可以在RabbitMQ代理上使用EasyNetQ,行为为publish / subscribe。
正如Russ Cam所提到的,在google群组中,人们发送了大量消息,但这可能会破坏RabbitMQ群集。
解决方案可以是FTP(或任何其他文件传输协议)与消息之间的混合:
EasyNetQ已经为您提供了一种默认的订阅机制,可以帮助您在不事先配置RabbitMQ的情况下订阅新的消费者(参见上面的链接)。
最后你可以考虑在许多小消息块中分割文件,但是你应该创建一个函数,它将重新组合接收器上的文件,或者如果你的消费者稍后开始你可能会丢失一些消息。