Я пытаюсь найти решение, которое позволит мне иметь один IP-адрес / DNS-имя на нескольких серверах с использованием правил на основе путей (уровень 7). т.е. - http://testing.test.com.au/ABC -> Сервер A и http://testing.test.com.au/123 -> Сервер B и т. Д. Это должно быть аварийное переключение, чтобы, если сервер A отключился, затронул только трафик к серверу A, а весь другой трафик мог получить доступ к соответствующему серверу / серверам.
Я пробовал использовать шлюз приложений MS Azure, но это не работает, потому что для него требуется сервер по умолчанию, и если он перейдет в автономный режим, все остальные подключения к другим серверам не будут работать.
Не могли бы вы помочь с идеями / реализациями, которые могли бы работать как можно скорее?
Спасибо
вы должны иметь возможность использовать маршрутизацию на основе пути шлюза приложений, вы можете указать значение по умолчанию, например, на сайт вашей компании, и если сайт по умолчанию не работает по какой-либо причине, правила на основе пути все равно будут работать.
По вашему описанию я думаю вы ищете Диспетчер трафика Azure.
Диспетчер трафика - это Уровень DNS балансировщик нагрузки, мы можем использовать метод приоритетной маршрутизации трафика или метод взвешенной маршрутизации трафика.
Дополнительную информацию о диспетчере трафика см. Здесь ссылка на сайт.
Использование поддоменов будет делать это по умолчанию, то есть с http://app1.example.com/
и http://app2.example.com/
одно состояние не повлияет на другое.
Если у вас есть http://example.com/appN
, то example.com
это единственная точка отказа, независимо от того, перенаправить т.е. URL меняется на http://appN.example.com
или обратный прокси т.е. url не меняется.
С обоими вариантами (перенаправление или прокси) у вас могут быть оба / все серверы, отвечающие на http://example.com
и балансировка нагрузки с DNS по-круговой. Если вы добавите обнаружение сбоя, которое автоматически удаляет серверы, которые не отвечают, максимальное время простоя будет равно время жить TTL
. Например Amazon Route 53 DNS отказоустойчивый делает именно это.