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

Перемещение веб-приложения для использования HAProxy, Varnish и nginx

В настоящее время у меня есть 4 сервера веб-приложений (работающих в приложении) в Rackspace, которые находятся за балансировщиком нагрузки (в Rackspace). Перед балансировщиком нагрузки. Само приложение умеренно использует кеширование, поэтому я знаю, что его можно немного улучшить.

Моя текущая архитектура:

RS Load Balancer (SSL Termination) -> 4 Web Servers (Apache) -> MySql

Эта установка была создана до меня, и теперь у меня есть возможность немного навести порядок, поэтому я думал либо об этом:

Varnish -> HAProxy (reverse proxy, LB, SSL Termination) -> 4 Web Servers (nginx) -> Redis / MySql

ИЛИ

Varnish -> nginx (reverse proxy, LB, SSL Termination) -> 4 Web Servers (nginx) -> Redis / MySql

ИЛИ лучше иметь Varnish за прокси и перед каждым веб-сервером вот так ?:

nginx or HAProxy -> 4 Varnish Servers -> 4 Web Servers (nginx) -> Redis / MySql

Я бы также переместил свои серверы в Linode, поскольку они, кажется, обеспечивают лучшую цену, и хотя я слышал смешанные отзывы об их балансировщиках нагрузки (называемых «NodeBalancers»), я слышал много хороших отзывов об их обслуживании и надежности в целом.

Мои вопросы:

Varnish не поддерживает SSL, поэтому команды Varnish-> nginx или Varnish-> HAProxy не будут работать с SSL.

С другой стороны, размещение чего-либо перед Varnish (кроме завершения SSL), вероятно, лишит вас преимуществ в производительности, которые обеспечивает Varnish.

Использование Varnish (кеша) для совместного использования оборудования и / или ОС с веб-сервером может быть, а может и не быть проблемой. Это во многом зависит от параметров обслуживаемого вами трафика. То же самое и с аппаратным масштабированием. Это также зависит от ваших целей.