У меня есть набор приложений, которые мы в настоящее время переводим на более «облачную» архитектуру.Мы начинаем с их перемещения в контейнеры (Docker в Windows), и как часть этого мы надеемся использовать прокси-сервер балансировки нагрузки для обработки трафика в контейнерах.
Рассмотрев несколько вариантовмы надеемся использовать Traefik в качестве прокси-сервера для балансировки нагрузки на этой итерации нашей архитектуры.Может быть или не быть важно отметить, что весь трафик через Traefik в этой настройке будет внутренним;он не будет обслуживать внешний трафик.Я также работаю в собственной ситуации;из-за проблем с контрактом такие облачные провайдеры, как AWS и Azure, в настоящее время мне недоступны.
Теперь у меня вопрос, как лучше всего развернуть Traefik.Я вижу по крайней мере два варианта:
Во-первых, Traefik может быть развернут на отдельных хостах с балансировкой нагрузки.Я мог бы использовать циклический DNS для этих хостов и пропускать трафик через них.
Во-вторых, Traefik мог быть развернут на каждом из хостов моего приложения.В этой настройке Traefik был бы скорее «дополнительной машиной», и приложения на каждом хосте использовали бы локальный экземпляр Traefik в качестве прокси для служб других хостов.
Проблема, которую я вижу, заключается в том, что вни одна из этих настроек не обеспечивает действительно высокой доступности.В любом случае сбой экземпляра Traefik приведет к недоступности хотя бы для некоторых служб.В первом случае циклический DNS и короткий TTL могли бы смягчить это?
Можно ли избежать недостатка высокой доступности?Есть ли альтернативный способ разработки этого решения?Предлагает ли сам Traefik руководство по структурированию этого решения?