Мы используем ELB для балансировки нагрузки между двумя разными серверами Nginx+Varnish в двух разных зонах доступности. Эти серверы Varnish были настроены для балансировки запросов к другому ELB, распределяющему запросы к нашим серверам приложений. Таким образом, мы сможем поддерживать работоспособность сайта, если одна зона доступности перестанет работать.
Проблема, с которой мы сталкиваемся при таком подходе, заключается в том, что мы не знаем, как запретить сайту обслуживать разные кэшированные объекты одному и тому же клиенту, т. е. поддерживать согласованность кэшированного контента между двумя серверами Varnish.
Одним из возможных решений было бы использование хеширования IP-адресов ELB, чтобы в зависимости от IP-адреса клиента тот или иной Varnish обслуживал запрос. Это несколько смягчило бы проблему.
Есть ли другой способ синхронизировать содержимое между этими двумя серверами Varnish?