2009-09-30 44 views
14

I gather基本上,通过POST或GET使用REST时可以发送的数据量没有限制。尽管我没有使用REST或Web服务,但似乎大多数服务都涉及传输有限数量的数据。如果你想转移1-5MB的数据(在任何方向)的Web服务被认为是一个坏主意?使用Web服务传输大型有效负载的想法不明确吗?

更新:我们正在考虑通过REST服务连接的应用程序是内部应用程序。我们确实有选择其他连接选项(即:RMI)

+3

不要忘记查看压缩 - 尤其是在发送大型XML /文本文件时。一个800MB的XML文件将会压缩(使用gzip)到30MB左右。 – Gandalf 2009-10-02 15:07:20

回答

8

1-5mb使用休息不是真的那么大的数据集。限制因素可能是记忆。根据您生成xml的方式,如果您的服务流量很高,则可以在服务器资源上运行较低的值。

如果你正在使用流xml生成内存不会有太大的问题。创建一个dom树,然后吐出来会更加内存密集。

但即使您的dom树花费了原始xml的10倍内存,您仍然需要40个连续的连接fillup 2gb的服务器内存。所以这可能不是你的情况的问题。

客户端不太可能出现内存问题。但5反序列化一个5MB的XML转储应该不是任何普通电脑上的问题。

4

1-5 MB是可以的,只要您向用户提供某种进度反馈即可。 Web服务通过HTTP运行,这对于大型数据集的开销是没问题的,真正的问题是XML。 XML通常会增加序列化数据的大小。对于较大的数据集,我会考虑JSONHessian :)