Эластичный балансировщик нагрузки и лак на каждом узле
Мы хотим установить 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