@darkdiver

Как выбрать оптимальное зеркало для WebService?

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

Допустим у нас есть 3 зеркала службы:
https://ru.site.ru/webservice.asmx
https://us.site.ru/webservice.asmx
https://hk.site.ru/webservice.asmx

Как выбрать для клиента наиболее быстрое зеркало?
  • Вопрос задан
  • 2478 просмотров
Пригласить эксперта
Ответы на вопрос 4
@llirikkkk
напрашивающийся вариант: измерить время запроса/ответа от каждого и выбрать оптимальное
стрёмный вариант: чекать положение клиента и выбирать ближайшее в надежде, что оно будет самым быстрым, но как-то неоч...
Ответ написан
Комментировать
@darkdiver Автор вопроса
Вот вопрос в том и состоит, как измерить скорость доступа?
Не хочется изобретать велосипед, наверняка есть стандартное решение.
Ответ написан
dzedzinskiy
@dzedzinskiy
Full stack developer
Можно написать функцию на javascript'e используя таймер и загрузку небольшого количества информации с каждого сервера, или не с каждого, в зависимости от результатов. На основе этих данных - выбрать тот что меньше времени занял, потом подставлять соответствующую url.

Результат можно сохранить в базе данных на сервере, если пользователи регаются, иначе в localstorage
Ответ написан
vipuhoff
@vipuhoff
Можно воспользоваться WatchDog и замерить время от начала подачи запроса (синхронного) до получения результата. Только по личному опыту, учитывать нужно не первый запрос к службе а второй и далее, т.к. в первом накладные расходы на подключение.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы