Я пытаюсь создать приложение высокой доступности.В моем текущем дизайне есть две виртуальные машины, обе имеют общедоступные IP-адреса, обе работают в одной подсети, и обе виртуальные машины имеют одно и то же веб-приложение, работающее в докере. ssl-сертификаты и трафик к приложению в докере управляются Traefik. Первая виртуальная машина является главной, поэтому ее IP-адрес обновлен до Cloudflare. Существует третья виртуальная машина, на которой есть скрипт, который обращается к приложению по IP-адресу первой виртуальной машины, чтобы проверить, получает ли оно ответ или нет. Если скрипт не получает ответ от первой виртуальной машины, он отправляет уведомление по электронной почте, чтобы уведомить меня о проблеме, а затем этот скрипт обновляет Cloudflare с общедоступным IP-адресом второй (отказоустойчивой) виртуальной машины, чтобы трафик направлялся на вторую виртуальную машину.
Этот дизайн работает хорошо, но он очень рудиментарный. Я знаю, что это можно улучшить, но я не уверен, как сделать это лучше, поэтому мне нужны ваши предложения. Что я хочу сделать, так это запустить проверку работоспособности приложения на главной виртуальной машине и, если оно по какой-либо причине не отвечает, направить трафик на резервную виртуальную машину. В ходе своего исследования я наткнулся поддерживать активность, Я не изучал это, но я думаю, что это могло бы помочь.