Эластичный балансировщик нагрузки и лак на каждом узле

Мы хотим установить Varnish на наши узлы, которые обрабатываются Auto-Scaling Group и ELB. Эти серверы в настоящее время растут и сжимаются в зависимости от нагрузки с 2-10 узлов. Мы не хотим иметь еще один "главный" сервер лаков из-за финансовых последствий.

Наша оптимальная диаграмма будет выглядеть так:

           ELB
          / | \
Node 1 - Node 2 - Node 3, etc.
  |         |        |
Varnish  Varnish  Varnish
  |         |        |
Apache   Apache   Apache
  |         |        |
Centralized MySQL/File Servers

Для дальнейшего понимания Varnish будет работать на каждом из узлов, как если бы все три были отдельными.

Как мы синхронизируем все данные Varnish, особенно связанные с событиями кэша (например, кто-то обновляет сообщение в WordPress, а WordPress удаляет один из кэшей Varnish, но не другой 2). Я бы не стал добавлять еще один выделенный сервер Varnish для наблюдения за всем этим. Как вы обычно обрабатываете 3 экземпляра лака, синхронизирующихся друг с другом? Есть ли что-то, о чем я не думаю правильно или альтернативная конфигурация?

1 ответ

Обычно у нас есть какой-то один админ-сервер, на котором работает WordPress или Magento, в них встроен специальный плагин для лака, он имеет всю логику и отправляет команды в varnishadm на каждом сервере. или вы можете сделать то же самое от ваших работников, в зависимости от вашего приложения.

           ELB
          / | \
Node 1 - Node 2 - Node 3, etc.
  |         |        |
Varnish  Varnish  Varnish
  |         |        |
Apache   Apache   Apache
  \         |        /
    Master Admin Node
   \        |       /
Centralized MySQL/File Servers
Другие вопросы по тегам