2009-09-30 10 views
14

I gather che non esiste un limite alla quantità di dati che è possibile inviare quando si utilizza REST tramite POST o GET. Sebbene non abbia utilizzato REST o servizi web, sembra che la maggior parte dei servizi riguardi il trasferimento di quantità limitate di dati. Se si desidera trasferire 1-5 MB di dati (in entrambe le direzioni) i servizi Web sono considerati una cattiva idea?Scarsa idea di trasferire un grande carico utile utilizzando i servizi web?

Aggiornamento: le app che stiamo considerando di collegare tramite un servizio REST sono app interne. Abbiamo la possibilità di scegliere altre opzioni di connettività (ad esempio: RMI)

+3

Non dimenticare di esaminare la compressione, specialmente se invii file XML/di testo di grandi dimensioni. Un file XML da 800 MB comprimerà (con gzip) fino a circa 30 MB. – Gandalf

risposta

8

1-5mb utilizzando il resto non è davvero così grande di un set di dati. Il fattore limitante è probabilmente la memoria. A seconda di come stai generando l'xml, potresti esaurire le risorse del server se hai un alto traffico sul servizio.

Se si sta utilizzando la memoria di generazione xml in streaming non sarà tanto un problema. creare un albero di dom e poi sputarlo sarà molto più ricco di memoria.

Ma anche se il tuo albero genealogico richiedeva 10 volte la memoria dell'XML grezzo, sarebbero necessarie 40 connessioni ConnCurrent per riempire 2 GB di memoria del server. Quindi potrebbe non essere un problema nella tua situazione.

Meno probabile è problemi di memoria sul lato client. ma 5 de-serializzare un dump 5MB non dovrebbe essere un problema su nessun computer normale.

4

1-5 MB va bene, purché si fornisca all'utente una sorta di feedback sull'avanzamento. I servizi Web funzionano su HTTP, il che è ok quando si tratta di overhead su dataset più grandi, il vero problema è XML. XML, il più delle volte, aggiunge un enorme sovraccarico alle dimensioni dei dati serializzati. Considererei JSON o Hessian per set di dati più grandi :)