2009-09-30 39 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 :)