把文件分成若干块,通过MQ进行传输。
发送方:
根据每块大小分块,
1.可采用多线程发送
2.发送成功,把MessageID保存,然后再发送一条控制信息(或全部文件块发送完毕一起发),在该控制信息中,指明该MessageId对应的文件块的序号,以及文件相关信息。
接受方:
需要考虑是否一次性写到一个文件内?
如果每次接收到一个文件块就写成一个文件,那么可能造成写多个文件,需要合并文件并删除删除临时文件,可能会增加IO负担,但优势在于模型简单,容易理解。
如果每收到一个文件块,然后按顺序写入到相应的文件位置,发送方可能要增加控制消息的数目。