В этой статье описывается процесс настройки отказоустойчивого двухузлового балансировщика нагрузки с активной/пассивной конфигурацией, поддержкой сессий и механизма Failover на базе Perlbal/Heartbeat под управлением Debian. Балансировщик работает между конечным пользователем и двумя backend-серверами, которые отдают некий контент. (В нашем примере это два сервера с установленным Apache). Балансировщик не только проксирует запросы к бэкэнду, он еще и проверяет состояние бэкэнда и, в случае отказа, перенаправляет запросы к другому серверу (failover). Вдобавок, ведется постоянный мониторинг бэкэнд-серверов при помощи Heartbeat и, если master-сервер “лежит”, то slave автоматически становится мастером. Ваши пользователи не заметят сбоев в работе сервиса.
Читать далее…
В статье Key=value (ключ=значение) базы данных мы рассмотрели системы сохранения/чтения данных по ключу и подходы для реализации простых задач. Сейчас рассмотрим все детали и принципы на живом примере простого клона твиттера на основе решения memcacheDB.
Читать далее…
Что такое key=value БД? Это система управления данными, которая позволяет сохранять пары ключ=значение в постоянное хранилище, и в последствии читать эти значения по ключам. Вот так все просто! Все гениальное просто, но в чем необходимость такого крайне ограниченного на первый взгляд решения?..
Читать далее…
MemcacheDB - база данных ключ=значение.
Характеристики и преимущества memcacheDB:
- Высокая производительность записи/чтения. Бенчмарк
- Надежный движок хранения данных с поддержкой транзакций
- Обеспечение высокой доступности данных с поддержкой репликации
- Совместимость с протоколом Memcache
Читать далее…
lighttpd (произностится “лайти”) - быстрый, гибкий и безопасный Web сервер.
Крайне популярен на высоконагруженых проектах. Его используют такие монстры, как YouTube, wikipedia, meebo.
Из преимуществ lighttpd стоит отметить:
- Эффективная поддержка FastCGI благодяра встроенному контейнеру spawn-fcgi
- Эффективная работа с I/O, благодаря поддержке асинхронного механизма I/O
- Большое количество модулей, хорошая документация и большое комьюнити
Читать далее…
Nginx - отличный и высокопроизводительный Web сервер. В стандартной конфигурации он может работать при достаточно больших нагрузках. Тем не менее, эффективность его работы можно повысить, подкорректировав некоторые настройки.
Ищите файл nginx.conf на своем сервере и открывайте его…
Читать далее…

Конфигурационные параметры по умолчанию в Mysql расчитаны на небольшие базы данных, работающие под малыми наргузками на весьма скромном железе. Если Ваши планы насчет Mysql выходят за границы таблиц на несколько сотен записей, Вам обязательно придется менять настройки по умолчанию.
Процесс оптимальной настройки Mysql состоит из двух частей - первоначальная настройка и корректировака параметров во время работы. Корректировка параметров в рабочем режиме во многом зависит от специфики Вашей системы и ее мониторинга - тут особых правил не существует. Для стартовой настройки есть ряд рекомендаций:
Читать далее…
Nginx - это легкий и высокопроизводительный Web сервер. Nginx является популярным решением для высоконагруженных систем, например:
Wordpress.com, FriendsForSale (Приложение Facebook), fastmail.fm.
Кроме этого, по словам создателя, около 20% всех русских виртуальных серверов работали на основе nginx по состоянию на март 2007 года.
Читать далее…
Задача - построить масштабируемую систему отдачи фотографий и их уменьшеных версий (замбнейлов, thumbnails, отресайзеных фоток…). Естественно все достаточно просто, когда нагрузки на эту подсистему низки, и решение впринципе не играет роли. Но когда у Вас по 20 картинок на страницу и несколько миллионов просмотров страниц в день?
Есть несколько вариантов решения данной задачи. И заключаются они, как в использовании технологий, так и построении архитектуры. Есть даже платные сервисные решения (удаленный хостинг и отдача изображений), но их мы рассматривать в рамках данной статьи не будем.
Читать далее…
Varnish - это http accelerator. Если у Вас есть большое количество мелких файлов, отдающихся с диска и дисковый кеш Вас уже не спасает - это решение для Вас. Кроме всего прочего на основе varnish’a (но не только) можно построить архитектуру, позволяющую масштабировать это решение горизонтально без особых проблем.
Читать далее…
Комментарии