3

我需要在两台服务器之间发送 xml 文件。这些文件最大可达 1mb。

我正在考虑使用 Azure 存储队列作为这些文件的中间目的地,但读到消息大小有 64kb 的限制。我想发送超过 64kb 的消息的要求并不少见。

有没有办法绕过限制?也许压缩?

4

2 回答 2

5

排队不是存储。

将有效负载保存在 azure blob 存储中,然后在队列中发送一条消息,其中包含指向该 blob 的链接。

于 2016-03-25T14:19:21.373 回答
1

首先,Azure 存储队列不用于存储文件。存储队列用于发送消息。是的,出于性能原因,消息大小限制有点小。

有没有办法绕过限制?

Azure 存储队列不适用于通过消息发送大量数据。要发送大量数据,您需要将其存储在 Azure 存储帐户等某个位置,并在发送到 Azure 存储队列的消息中提供指向文件存储位置的指针。这允许发送方应用程序以接收方应用程序能够获取消息并能够判断相关文件所在位置的方式包装所有内容。

也许压缩?

使用压缩来使文件更小以适应队列消息限制是不够可靠的。有时您可能会得到压缩后仍然太大的文件,并且这些消息在尝试发送时会引发异常。最好的方法是使用上述方法。

于 2016-03-25T17:08:21.147 回答