Назад | Перейти на главную страницу

Слой кэширования Varnish против балансировщика нагрузки

У нас есть около 10-15 различных веб-сайтов, которые на данный момент размещены на двух облачных серверах Rackspace с 4 ГБ оперативной памяти. Эти два сервера полностью независимы друг от друга, мы случайным образом выбираем сервер для каждого нового сайта.

Недавно мы запустили новый сайт, который потребляет много памяти, и с тех пор несколько раз исчерпал память на своем сервере, что привело к его сбою. Я выясняю, почему это находится на самом сайте. Но также я думаю, что могу многое сделать с серверной архитектурой. Есть две очевидные вещи, которые я мог бы сделать ... Настроить кеширование Varnish (тип веб-сайтов, которые у нас есть, от этого сильно выиграет). И настройте балансировку нагрузки между двумя серверами.

Поэтому для этого я предложил получить один новый экземпляр облака. Теперь у меня вопрос, что с этим делать ...

1) Настройте его как другой сервер LAMP и получите балансировщик нагрузки от Rackspace (который довольно дешевый) для балансировки нагрузки между всеми тремя. Каждый из них использует свою версию Varnish для кеширования сайтов.

2) Настройте новый блок как слой кэширования Varnish и заставьте Varnish выполнять балансировку нагрузки между двумя, которые у нас есть в настоящее время.

Мне очень нравится звук варианта 2, так как все кеширование будет происходить в одном месте. Мы также могли бы сделать некоторые интересные вещи в Varnish, например, заставить его обслуживать кешированные страницы, если все серверы были отключены, и в целом иметь больший контроль. Большинство посетителей сайта анонимны, поэтому их можно обслуживать кэшированным сайтом. Большинство пользователей, вошедших в систему, - это редакции, поэтому важнее установить высокий уровень доступности.

Но с точки зрения максимального использования доступных ресурсов я не уверен, что лучше всего сделать.

Выберите вариант 2 и затем используйте балансировщик нагрузки в стойке, который выполняет следующие действия:

  • Если кеш varnish запущен и активен, направьте весь трафик на экземпляр varnish
  • Если лак снижает баланс нагрузки между двумя оставшимися веб-серверами

Это предотвращает создание единой точки отказа, но вам нужна надежная проверка работоспособности в конфигурации балансировщика нагрузки.