Вопрос:
Мне сказали, что в соответствии с передовой практикой длительные веб-запросы http следует преобразовывать в более короткие асинхронные запросы с механизмом опроса для завершения.
Почему?
Важное отличие:
Я работаю над API веб-службы.Он вызывается не браузерами (которые зависают при загрузке), а расширенными клиентами (которые в любом случае вызывают удаленные службы асинхронно) и сценариями (которые могут выполнять одну и ту же асинхронную уловку)
Мотивация:
Я хотел бы знать, потому что я пытаюсь принять решение относительно того, когда запрос должен быть сделан асинхронным, какова точка отсечения?Я работаю над веб-интерфейсом API, у которого есть запросы, которые занимают от 0,001 до 400 секунд (и везде между ними) в зависимости от запроса (не от параметров, а от фактического метода, который они вызывают).
Я мог бы сделать все асинхронным (кроме опроса для завершения команды), но это усложняет работу, выполняемую клиентами API (то есть получение результатов от запросов, опрос для завершения и т. Д.)
Насколько я знаю, ятакже может сделать все синхронно, так как в любом случае выполняется одинаковое количество работы, поэтому кажется, что нагрузка будет одинаковой.
Кроме того, все веб-службы, которые я использовал, похоже, следуют гибридной модели, поэтому они должныкак-то принимать решение.
Единственный способ, которым я мог бы действительно ответить на этот вопрос, - это узнать, почему существует эта лучшая практика.