Как запретить ожидающим сетевым запросам блокировать дальнейшие сетевые запросы? - PullRequest
0 голосов
/ 20 апреля 2020

Я разрабатываю клиент, который использует конечные точки GeoServer и ArcGIS Server. По сути, это интерфейс поиска, который позволяет переключать слои карты. При переключении запрашивается слой карты. Запрос слоя карты приводит к примерно 50 сетевым запросам для всех различных фрагментов изображения.

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

т.е. если я запрашиваю «уровень 1», это поставит в очередь 50 сетевых запросов. , Браузеры выполняют только несколько запросов одновременно (6 я думаю для Chrome?). Поэтому, если я переключу 2 дополнительных слоя, то в очереди 50 x 2 запросов = 100 запросов. Если второй слой также находится на отключенном картографическом сервере, то в результате пользователю придется ждать 100 запросов на тайм-аут, прежде чем будет добавлен «слой 3».

Записав это ... Я думаю, что решение состоит в том, чтобы разгрузить запросы веб-работнику или работнику службы? Если я использую сервисного работника, могу ли я получить запросы к отдельным изображениям для кэширования? Пример такого запроса:

https://api.atlas.saeon.ac.za/proxy/csir/RCP45_B_AveTemp_v3/MapServer/export?F=image&FORMAT=PNG32&TRANSPARENT=true&SIZE=256%2C256&BBOX=22.5%2C-33.75%2C33.75%2C-22.5&BBOXSR=4326&IMAGESR=4326&DPI=90
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...