Это скорее концептуальный вопрос, чем технический вопрос.
Мой вопрос: если я собираюсь
Как мне это реализовать?
Вот что я придумал:
Но я не знаю, как интегрировать HAProxy в архитектуру.
Кто-нибудь может дать мне представление об этом?
Кроме того, как выполнить балансировку нагрузки, если все контейнеры находятся на одной машине?
Заранее спасибо за помощь.
Я сделал то же самое, что и на нескольких машинах.
Во-первых, если у вас нет нескольких экземпляров Apache + PHP, haproxy вообще не входит в картину.
В противном случае: идеальная установка была бы:
запрос от пользователя -> haproxy -> несколько (Apache + PHP) -> MySQL.
Здесь Haproxy даст вам общий публичный IP-адрес (хост-машины) и порт для доступа к вашему приложению. Всякий раз, когда кто-либо получает доступ к этому IP и порту, запрос будет перенаправлен в один из ваших контейнеров Apache + PHP. Вам нужно будет отредактировать файл haproxy.cfg и указать IP-адрес и порт контейнеров.
Эта ссылка может помочь вам:
https://serversforhackers.com/load-balancing-with-haproxy
Обратите внимание, что здесь Haproxy работает на вашем компьютере, а не как контейнер Docker.
Других решений пока нет …