Как реализовать балансировку нагрузки для серверов лаков с кешированием запросов к серверам (серверам лаков)? - PullRequest
0 голосов
/ 13 июня 2018

Пожалуйста, используйте эту картинку, чтобы понять ее ясно Архитектура, как я вижу Необходимо реализовать кэширование запросов на уровне [балансировщика] для службы VoD.

Когда reqst1 для file1 приходит на балансировщик он отправляет его циклическим перебором на сервер varnish1 и сохраняет этот запрос на локальный дБ / кэш и т. Д.

Далее , если у varnish1 нет этого файла в кэше отправить запрос на локальный веб-сервер (nginx-VOD1) и после этого nginx получил file1 из fs для varnish1 .

Так что, если следующий запрос для file1 , балансировщик напрямую перенаправит его на varnish1 , так что информация на лакахне удваивается.

Итак, корень проблемы следующий: как реализовать эту схему или как реализовать другую схему таким образом - содержимое не удваивается при разных кэшах лака ?

1) Есть ли готовое бесплатное / платное решение?

2) Оправдана ли эта схема?

3) Что я должен использовать в качестве балансировщика (nginx, haproxy, лак)?

4) Где лак должен сохранять кеш в ssd или в memmory?

Спасибо

1 Ответ

0 голосов
/ 27 июня 2018

Я думаю, что ваша схема слишком сложна и не оптимизирует кэш лака.

Я предлагаю упростить ее, поместив только один серверный лак (больший), который распределял запросы на серверную часть 4.

...