Плохая идея для передачи большой полезной нагрузки с помощью веб-сервисов?
Я понимаю, что в принципе нет предела количеству данных, которые могут быть отправлены при использовании REST через POST или GET. Хотя я не использовал REST или веб-сервисы, похоже, что большинство сервисов включают передачу ограниченных объемов данных. Если вы хотите передать данные объемом 1-5 МБ (в любом направлении), считаются ли веб-сервисы плохой идеей?
Обновление. Приложения, которые мы рассматриваем для подключения через службу REST, являются внутренними приложениями. У нас есть возможность выбора других вариантов подключения (например, RMI)
2 ответа
1-5мб, используя отдых, на самом деле не такой большой набор данных. Ограничивающим фактором, скорее всего, является память. В зависимости от того, как вы генерируете xml, у вас может быть мало ресурсов сервера, если у вас высокий трафик в службе.
Если вы используете потоковую генерацию памяти XML, это не станет большой проблемой. создание dom-дерева с последующим его выпуском потребует гораздо больше памяти.
Но даже если ваше dom-дерево занимало в 10 раз больше памяти, чем необработанный xml, вам потребовалось бы 40 одновременных подключений, занимающих 2 ГБ памяти сервера. Так что это не может быть проблемой в вашей ситуации.
Менее вероятны проблемы с памятью на стороне клиента. но 5 десериализация 5-мегабайтного дампа xml не должна быть проблемой на любом нормальном компьютере.
1-5 МБ - это нормально, если вы предоставляете пользователю какую-то обратную связь о прогрессе. Веб-сервисы работают по протоколу HTTP, и это нормально, когда речь идет о накладных расходах в больших наборах данных, настоящей проблемой является XML. XML чаще всего добавляет огромные издержки к размеру сериализованных данных. Я бы рассмотрел JSON или Hessian для больших наборов данных:)