Пожалуйста, используйте эту картинку, чтобы понять ее ясно Архитектура, как я вижу Необходимо реализовать кэширование запросов на уровне [балансировщика] для службы VoD.
Когда reqst1 для file1 приходит на балансировщик он отправляет его циклическим перебором на сервер varnish1 и сохраняет этот запрос на локальный дБ / кэш и т. Д.
Далее , если у varnish1 нет этого файла в кэше отправить запрос на локальный веб-сервер (nginx-VOD1) и после этого nginx получил file1 из fs для varnish1 .
Так что, если следующий запрос для file1 , балансировщик напрямую перенаправит его на varnish1 , так что информация на лакахне удваивается.
Итак, корень проблемы следующий: как реализовать эту схему или как реализовать другую схему таким образом - содержимое не удваивается при разных кэшах лака ?
1) Есть ли готовое бесплатное / платное решение?
2) Оправдана ли эта схема?
3) Что я должен использовать в качестве балансировщика (nginx, haproxy, лак)?
4) Где лак должен сохранять кеш в ssd или в memmory?
Спасибо