Веб-сервис по сравнению с обычным HTTP-запросом

Около 5000 компьютеров будут звонить на центральный сервер, и они будут передавать GUID на центральный сервер.

Затем сервер вернет клиенту True / False.

Есть ли большая разница в представление между веб-службой и обычным HTTP-запросом на URL-адрес на сервере?

Вам действительно нужно предоставить более подробную информацию о фактическом протоколе веб-сервисов и полезной нагрузке сообщений, о которых вы говорите. REST - это HTTP, поэтому нет никакой разницы. О каком протоколе вы говорите?

S.Lott 10.10.2008 02:23
За пределами сигналов Angular: Сигналы и пользовательские стратегии рендеринга
За пределами сигналов Angular: Сигналы и пользовательские стратегии рендеринга
TL;DR: Angular Signals может облегчить отслеживание всех выражений в представлении (Component или EmbeddedView) и планирование пользовательских...
Sniper-CSS, избегайте неиспользуемых стилей
Sniper-CSS, избегайте неиспользуемых стилей
Это краткое руководство, в котором я хочу поделиться тем, как я перешел от 212 кБ CSS к 32,1 кБ (сокращение кода на 84,91%), по-прежнему используя...
2
1
5 221
8

Ответы 8

Я не уверен на 100% в улучшении производительности во времени ответа, но запрос WebService, который возвращает только истинное значение false, а не обычный HTTP-запрос, а затем анализ ответа, как я предполагаю, будет в целом более эффективным.

HTTP-запрос не означает, что он вернет HTML.

Neall 10.10.2008 02:33

У меня есть приложение, в котором в настоящее время около 7000 машин вызывают веб-службу .net с помощью WCF.
. Каждый автомат звонит каждые 15 минут. Сервис берет данные и отправляет их в SQL-сервер; который установлен на той же коробке.

Сейчас он собирает около 350 МБ данных в день.

Загрузка почти не регистрируется, и мы в процессе развертывания ее для 25 000 клиентов.

Я предполагаю, что моя точка зрения заключается в том, что передача guid на сервер с возвращаемым значением true / false не является большой нагрузкой, о которой следует беспокоиться, если только веб-сервер не был POS 5 лет назад.

4 вызова в час x 24 часа = 96 вызовов на компьютер x 7000 компьютеров = 672 000 вызовов веб-сервисов в день. Эти звонки разбросаны или каждые 15 минут вы можете набрать 7К звонков?

Anonymous Cow 10.10.2008 00:56

Они разбросаны, потому что с момента запуска службы до ее остановки проходит 15 минут. Это означает, что он полностью основан на времени запуска машины и, следовательно, случайен.

NotMe 10.10.2008 23:29

Я думаю, разница не будет большой, если вообще будет. На самом деле HttpRequest может быть быстрее только потому, что он использует на один слой меньше в стеке. Если вы видите, что расширяете сервисы в будущем, вы можете пойти дальше и использовать WebSerivce, но не из-за производительности (опять же, разница в производительности, вероятно, незначительна), а потому, что WebService будет более удобен в обслуживании по мере того, как сервисы становятся более сложными.

Веб-службы REST являются HTTP.

Следовательно, я не понимаю вопроса. Возможно, вам следует предоставить больше информации о протоколе, сообщениях, будь то стиль RPC или стиль документа, размер документа и т. д.

проблема в том, что модное слово «веб-сервисы» часто используется для обозначения SOAP или других форм переосмысления RPC поверх HTTP. REST означает «вернуться к основам» с некоторыми соглашениями.

Javier 10.10.2008 01:49

@ Хавьер: дело не в том, что это часто означает. Дело в том, что вопрос плохой и без ответа в такой форме.

S.Lott 10.10.2008 02:22

Я предполагаю, что под веб-службой вы имеете в виду SOAP. Мой опыт работы с различными стеками SOAP на разных платформах (Java, .NET, Ruby, PHP) заключается в том, что в этом случае вы, вероятно, наблюдаете разницу на порядок при обработке такого простого сообщения. Обычно при использовании SOAP возникают значительные накладные расходы, которые незначительны, если вы передаете большие сообщения, но излишни для небольших сообщений. Использование SOAP для этого подобно слону, несущему пенни. В этом случае я бы порекомендовал просто простой обработчик HTTP.

Все 5000 клиентов будут обращаться к серверу одновременно? Вам нужно гарантировать определенное время ответа?

Разница по порядку величины все еще может быть приемлемой: 20 мс против 100 мс. Поэтому все зависит от того, какую нагрузку получит сервер.

Dave Dunkin 10.10.2008 01:04

Если отбросить производительность на секунду - простота обработчика из PoV обслуживания действительно желательна.

stephbu 10.10.2008 01:14

Да, конверт SOAP относительно здоровенный. Я бы предложил службу на основе REST, которая будет сводить размер маршалируемых данных к минимуму.

+1 согласен с этим, просто пройдите через ... анализ полезной нагрузки XML, а затем либо создание ответа XML, либо отправку кешированного ответа XML, а не синтаксический анализ URL-адреса и отправку либо тела 1 / true / json обратно.

David 17.02.2009 06:03

как насчет Android, мне нужно использовать мыло, так как я не могу нормально отдыхать

shareef 20.05.2013 09:24

Почему нет? stackoverflow.com/questions/6047194/…

Kon 20.05.2013 17:57

Веб-службы SOAP и REST предполагают некоторые накладные расходы, но, безусловно, они подходят, если вы считаете, что вам нужно масштабировать, чтобы вернуть некоторую другую информацию, кроме истинной / ложной.

HTTP-ответ всего 1/0 или истина / ложь будет намного меньше и, следовательно, теоретически быстрее.

Хорошо спроектированный REST - это именно HTTP-ответ.

Javier 10.10.2008 01:46

Какие накладные расходы связаны с вызовом службы на основе REST?

Kon 10.10.2008 17:21

На самом деле это не будет иметь большого значения. Из того, что может вызвать задержку в этом запросе, у вас есть:

  • Выполнение скомпилированного кода
  • Сеть туда и обратно
  • Доступ к базе данных (предположительно, это то, что вы будете проверять?)

Даже если у вас невероятно быстрая сеть и сервер базы данных, количество времени, затрачиваемого на прохождение сети туда и обратно и доступ к базе данных (что, возможно, может включать в себя другой сетевой обход), приведет к накладным расходам на выполнение скомпилированного кода любой инфраструктуры веб-сервисов. вы используете незначительное.

Другие вопросы по теме