Архив категории ‘Varnish’

Nginx, HAProxy, Varnish: мониторинг в New Relic

Tuesday, October 15th, 2013

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

Виктор Пелевин «Бэтман Аполло»

nr-hnv

Не так давно я писал статью по увязыванию в единое целое Nginx, Varnish и HAProxy и хотел рассмотреть также вопрос с мониторингом всего этого добра. Но пришла мне в голову идея расписать не общие возможности по мониторингу, а способы мониторить и собирать статистику по этим приложениям в довольно известном SaaS-сервисе под названием New Relic. New Relic умеет работать с помощью своих агентов практически в любых приложениях (Java, Ruby, PHP и ещё многих разных словах). Но главная вкусность таится в большом количестве отдельных плагинов для мониторинга практически чего угодно – от нашей тройки героев до Hadoop и RabbitMQ.

(more…)

Метки: , ,
Категория: HAProxy, Nginx, Varnish | Нет комментариев »


Связка Nginx + Varnish + HAProxy для чайников

Monday, August 12th, 2013

Как же управлять такой ордой? – пораженно думал Михаил. Чем же прокормить такую бездну праздного народа?

Алексей Иванов «Сердце Пармы»

Эту универсальную связку можно использовать на любых высоконагруженных проектах. Она не будет тормозить, жрать ресурсы и пыхтеть как паровоз (это кивок в сторону Apache). Она легко управляется, отлично масштабируется на любое число серверов в кластере и хорошо мониторится.

Здесь Nginx будет заниматься свои обычным делом: отдавать статику, терминировать ssl-сессии, обеспечивать rewrite url’ов и т.д. Часть трафика, подлежащую кэшированию, он будет отдавать Varnish’у, а всё остальное – на HAProxy. Varnish будет исправно кэшировать весь отдаваемый контент, лишь изредка обращаясь за обновлениями на тот же HAProxy. HAProxy будет проксировать запросы на бэкенды, балансируя нагрузку и обеспечивая механизм sticky sessions. Само собой, если бэкенд (тот же Tomcat) всего один, то HAProxy тут нам не понадобится. Но это частный случай.

(more…)

Метки: , ,
Категория: HAProxy, Nginx, Varnish | Нет комментариев »


Varnish: Кастомная страница с ошибкой

Friday, October 19th, 2012

— Они ненавидят меня, потому что я лучше их.
— Нет, они ненавидят тебя потому, что ты ведёшь себя так, как будто считаешь себя лучше их.

Джордж Р. Мартин «Игра Престолов»

 

По умолчанию в случае возникновения каких-либо ошибок Varnish выдаёт классическое окно с сакраментальной фразой "Service Unavailable. Guru Meditation". Все это, конечно, интересно. Особенно интересна история этой фразы, берущей начало из операционки AmigaOS, в которую она попала из одной из амиговских игр под контроллер Joyboard. Суть этой игры заключалась в том, чтобы как можно дольше сидеть в позе лотоса и не шевелиться. Если же игрок шевелился, то возникала ошибка "Guru Meditation Error". В общем, можно с уверенностью сказать, что разработчики и пользователи Amiga познали-таки дзен. Завидую.

Однако в production-среде совсем не хочется, чтобы пользователи видели подобные сбивающие с толку сообщения.

(more…)

Метки:
Категория: Varnish | Нет комментариев »


Varnish: кэширование с учётом cookies

Tuesday, August 28th, 2012

— Думает, думает, – проворчал Муравей. — Что бы стало в лесу, если б все думали.

Сергей Козлов «Ёжик в тумане»

Возникла задача поднять кэширующий прокси-сервер. Но не простой прокси-сервер, а такой, который сможет кэшировать страницы в зависимости от определённой куки, определённым образом влияющей на отображение страницы.

Вариантов решения скорее всего здесь может быть много, но я смотрел в сторону varnish, с которым раньше приходилось работать и который мне чрезвычайно симпатичен. Главным же препятствием казалось то, что varnish по умолчанию не кэширует страницы, содержащие куки – раньше никогда этого и не требовалось, а куки и вовсе вырезались. Но решение нашлось. Varnish не подвёл.

(more…)

Метки:
Категория: Varnish, Web-dev | 1 Комментарий »