Мы хотим установить Varnish на наших узлах, которые обслуживаются группой автоматического масштабирования и 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, но не два других). Я бы не стал добавлять еще один выделенный сервер Varnish для наблюдения за всем этим. Как вы обычно справляетесь с синхронизацией трех экземпляров лака друг с другом? Есть ли что-то, о чем я неправильно думаю или альтернативная конфигурация?
обычно у нас есть какой-то один админ-сервер с запущенным wordpress или magento, в них встроен специальный плагин varnish, он имеет всю логику и отправляет команды на варнишадм на каждом сервере. или вы можете сделать то же самое со своими рабочими, в зависимости от вашего приложения.
ELB
/ | \
Node 1 - Node 2 - Node 3, etc.
| | |
Varnish Varnish Varnish
| | |
Apache Apache Apache
\ | /
Master Admin Node
\ | /
Centralized MySQL/File Servers