Docker для традиционного веб-приложения с балансировкой нагрузки?

Это скорее концептуальный вопрос, чем технический вопрос.

Мой вопрос: если я собираюсь

  • Настройте WordPress интернет-магазин (woocommerce), используя Apache
  • используя Docker,
  • с балансировкой нагрузки, используя HAProxy
  • реализовать микро сервисную архитектуру

Как мне это реализовать?

Вот что я придумал:

  • 1 контейнер: Apache + PHP
  • 1 контейнер: MySQL

Но я не знаю, как интегрировать HAProxy в архитектуру.

Кто-нибудь может дать мне представление об этом?

Кроме того, как выполнить балансировку нагрузки, если все контейнеры находятся на одной машине?

Заранее спасибо за помощь.

1

Решение

Я сделал то же самое, что и на нескольких машинах.

Во-первых, если у вас нет нескольких экземпляров Apache + PHP, haproxy вообще не входит в картину.

В противном случае: идеальная установка была бы:

запрос от пользователя -> haproxy -> несколько (Apache + PHP) -> MySQL.

Здесь Haproxy даст вам общий публичный IP-адрес (хост-машины) и порт для доступа к вашему приложению. Всякий раз, когда кто-либо получает доступ к этому IP и порту, запрос будет перенаправлен в один из ваших контейнеров Apache + PHP. Вам нужно будет отредактировать файл haproxy.cfg и указать IP-адрес и порт контейнеров.

Эта ссылка может помочь вам:
https://serversforhackers.com/load-balancing-with-haproxy

Обратите внимание, что здесь Haproxy работает на вашем компьютере, а не как контейнер Docker.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]