Определение синхронного и асинхронного в веб-приложениях

Вопрос:

Я ' нам сказали, что передовая практика гласит, что длинные веб-запросы http следует преобразовывать в более короткие асинхронные запросы с механизмом опроса для завершения.

Почему?

Важное различие:

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

Мотивация:

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

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

Насколько мне известно, я мог также сделайте все синхронным, поскольку в любом случае выполняется одинаковый объем работы, поэтому кажется, что нагрузка будет одинаковой.

Кроме того, все веб-службы, которые я использовал, похоже, следуют гибридной модели, поэтому они должны принимать решение каким-то образом.

Единственный способ, которым я мог действительно ответить на этот вопрос, - это узнать, почему существует такая передовая практика.

11
задан dkb 20 January 2016 в 09:27
поделиться