NGINX должен делать все, что вам нужно. Он поддерживает маршрутизацию UDP и имеет как пассивные, так и активные проверки работоспособности, так что вы можете настроить способ определения, работает ли основная служба или нет. Его можно настроить так, чтобы он возвращался к службе резервного копирования только в случае сбоя проверки работоспособности.
Есть ли способ перенаправить трафик на другой порт в случае, если служба, прослушивающая исходный порт, не отвечает?
Это довольно специфический вопрос, но я не смог найти ответ на него. Я использую набор служб в контейнере LXC в Ubuntu 16.04 LTS, в частности игровые серверы. Однако известно, что этот сервис не работает, как и его оболочка. Поэтому, чтобы поддерживать время безотказной работы и баланс нагрузки, когда сервисы зависают или не отвечают, мне нужно иметь возможность перенаправлять трафик UDP и TCP в зависимости от того, реагирует сервис или сервисы или нет.
Чтобы лучше объяснить сценарий, у меня есть контейнер LXC, открытый общедоступному IP, с другим контейнером LXC, вложенным с iptables, перенаправляющим трафик через порт 21025 во вложенный контейнер. Внутри этого контейнера, если сервисы, которые принимают трафик (называемый ServiceWrapper
и ServiceMain
), не отвечают, трафик должен идти к другому сервису на другом порту, который мы будем вызывать ServiceFallback
. В противном случае трафик отправляется в соответствии с ожиданиями ServiceWrapper, который затем отправляет трафик ServiceMain
.
Моя текущая попытка реализовать этот вид маршрутизации было использовать HAProxy для LoadBalance между ServiceWrapper
и ServiceFallback
, тем не менее, на первый взгляд кажется, HAProxy не обнаруживает или разрешить перенаправление дополнительных портов на основе того, как она балансировочных ServiceWrapper
и ServiceFallback
. Видите ли, ServiceMain
принимает трафик UDP на другой порт для облегчения запросов сервера, таких как версия, имя хоста и т. Д. И т. Д. Насколько я могу судить, HAProxy не будет маршрутизировать или обнаруживать трафик UDP.
Я в отчаянии, чтобы заставить это работать. Я знаю, что это возможно, потому что точная настройка, которую я пытаюсь выполнить, сработала для одного из моих прямых конкурентов, однако они, похоже, неохотно делятся со мной даже пакетами, которые они использовали для этого (разумно, но да).
1 ответ на вопрос
Похожие вопросы
-
9
В чем разница между командами "su -s" и "sudo -s"?
-
4
Требуется хороший бесплатный образ Ubuntu Server VMWare
-
4
Каковы различия между основными дистрибутивами Linux? Я замечу?
-
-
2
Ограничить использование процессора для Flash в Firefox?
-
2
Как мне заставить мой микрофон работать под Debian GNOME?
-
2
Конки установки - образцы / идеи?
-
2
Windows 7 Home Premium запоминает пароли общего доступа к сети?
-
3
Каковы различия между оконными менеджерами Linux?
-
5
Поделитесь XP сетевым подключением без перезагрузки?
-
5
Как мне сказать Windows использовать 802.11 вместо 3G?