Подключитесь к IP-адресу репозитория A, если он доступен, в противном случае подключитесь к IP-адресу репозитория B (сторона клиента)

Подключитесь к IP-адресу репозитория A, если он доступен, в противном случае подключитесь к IP-адресу репозитория B (сторона клиента)

Есть репозиторий SVN, размещенный на сервере за несколькими интернет-провайдерами, и в зависимости от подключения к интернет-провайдеру администратор этого сервера SVN меняет IP-адрес репозитория и объявляет: «Эй, наш IP-адрес изменился. Пожалуйста, переместите все ваши данные на xxx.xxx.xxx.xxx, спасибо».

В большинстве случаев это не слишком хлопотно. Просто короткий скрипт, который перемещает все мои рабочие копии. Но в некоторые дни IP-адрес репозитория меняется несколько раз в день или меняет свое значение в течение нескольких минут, что мешает работе.

У меня нет возможности настраивать сеть, в которой размещен SVN (добавлять балансировку нагрузки и т. д.).

Как мне со своей стороны эффективно справиться с этим?

Как в файле hosts, где вместо назначения нескольких имен хостов одному IP-адресу одно имя хоста автоматически обрабатывает несколько IP-адресов.

Перепечатано с superuser.comтак как это больше похоже на вопрос о сбое сервера.

решение1

Это не чисто клиентское решение, но оно может работать.

  1. Создать IN Aзаписи в какой-то зоне,которым может управлять ваш хост-мастер, на DNS-сервере,который является основным DNS для вашей стороны(хуже - любой удаленный DNS под контролем хостмастера)с минимально возможным TTL(обязательный)
  2. Переместите ваш WC на ​​этот новый URL репозитория (на основе имени)
  3. При смене провайдера подключение IN Aдолжно быть изменено в соответствии с новым IP (вопрос эффективной связи затронутых сторон выходит за рамки текущего вопроса)
  4. При повторном подключении к репозиторию: после таймаута, не превышающего TTL, в худшем случае (ваш DNS-сервер не удерживает зону и должен получить данные от авторизованного NS) клиент сможет связаться с репозиторием.

Связанный контент