A. 如何利用MQ实现大文件传输和交换具有可靠,安全
由于JMS Streams的种种不足,限制了其用于传输大文件的功能。因此,ActiveMQ在JMS的基础上创建了一种新的消息类型------BlobMessage。
因为派生与JMS的Message对象,通过BlobMessage传输大文件可以利用ActiveMQ消息Broker的所有特性,如高可靠性、事务支持、发布订阅......
Blob Messages是通过带外传输(out-of-band transport)的机制来实现大文件传输的,在文件传输的过程中,通过http、ftp、scp或其他点对点的协议来进行文件的传输,同时,通过BlobMessage来传送控制信息以及文件的验证信息。其结构图如下:
由于JMS可以可靠的将控制信息传送到ActiveMQ Broker,同时ftp协议本身就支持断点续传,所以,文件简单的就可以发送到服务端,并且保存在服务端,当文件的消费端监听队列的队列就可以轻松的下载文件了,如果存在多个消费端,则可以通过JMS的发布订阅模式实现。
通过比较三种方案,第一种通过JMS Streams传输存在断点续传的问题,第二种方式则引入了额外的复杂度------分割文件和合并文件,复杂度相对较高,第三种Blob Messages对于开发者来说就和发送普通消息是一样的,只是服务端它依赖FTP Server来上传下载文件。经过比较可以发现,Blob Messages的方式更具备可用性。
声明:易商讯尊重创作版权。本文信息搜集、整理自互联网,若有来源标记错误或侵犯您的合法权益,请联系我们。我们将及时纠正并删除相关讯息,非常感谢!