Каковы преимущества асинхронного HTTP

В.1 Я знаю, что когда мы говорим о synchronous HTTP, для каждого запроса может создаваться и блокироваться поток, поэтому при увеличении количества одновременных подключений мы столкнемся с огромными накладными расходами потока.
Асинхронный режим допускает некоторые служебные ответы на опрос для чего-то желаемого, но количество потоков резко уменьшается.
Я также знаю, что Asynchronous HTTP позволит нам выполнять действия, даже если доставленный ответ не является полным (получена только часть ответа). что подходит для действий в реальном времени.
Но каковы другие преимущества Async HTTP?

В.2 У меня есть сервер, на котором есть только один клиент, но этот клиент будет отправлять тысячи запросов в секунду. Я использую блокирующий ввод-вывод (Synchronous HTTP) с облегченными потоками (Quasar). Должен ли я перейти на асинхронный? Какая польза от этого для меня?


person Alireza Mohamadi    schedule 07.06.2016    source источник


Ответы (1)


Во-первых, я не думаю, что мы говорим об «асинхронном HTTP» из-за неоднозначного значения.

Есть 2 случая, когда мы упоминаем и асинхронный, и http:

Я думаю, что ваш вопрос на самом деле о последнем.

A.1 Преимущества асинхронного ввода-вывода

  • Он может обрабатывать большое количество клиентов/запросов одновременно. См. проблема C10k.
  • Он может повторно использовать простаивающие потоки для повышения пропускной способности, когда каждый запрос требует длительного времени ожидания (ожидание дискового ввода-вывода, базы данных и т. д.).

A.2 Вы можете переключиться, если ваш сценарий соответствует одному из вышеперечисленных.

person Anderson    schedule 08.06.2016