1С-Битрикс: Управление сайтом 10.0 Веб-кластер.

Презентация:



Advertisements
Похожие презентации
1С-Битрикс: Управление сайтом 10.0 Веб-кластер.
Advertisements

Платформа разработки высоконагруженного веб-сервиса: инструменты отладки и возможности масштабирования Александр Демидов руководитель направления арендных.
Веб-кластер 1С-Битрикс – примеры работающих проектов Александр Сербул Руководитель направления контроля качества интеграции и внедрений ООО «1С-Битрикс»
Александр Демидов «1 С-Битрикс» Производительность Виртуальная машина 3.0 Инструменты отладки Летняя партнерская конференция «1 С-Битрикс» 2011.
Построение системного ландшафта для высоко нагруженного проекта ООО «Ленвендо-Софт» Гаврилов Виталий Технический директор тел.: +7 (812)
Новая версия «1С-Битрикс: Управление сайтом 10.0».
Масштабируемость Интернет-ресурсов Игорь Лобанов Центр Финансовых Технологий.
Сергей Рыжиков генеральный директор компании «1С-Битрикс» Архитектура и запуск SaaS решения в Amazon AWS. Как обеспечить реальные 24?
Александр Демидов руководитель направления арендных решений «1С-Битрикс» «1С-Битрикс» - итоги 2010 года: SaaS, хостинг.
Архитектура проекта «Битрикс24»: как сделать так, чтобы все летало и не падало Александр Демидов руководитель направления арендных решений «1С-Битрикс»
Веб-кластер, планы по развитию, распределенный веб-кластер Максим Смирнов ведущий разработчик.
Системы хранения данных для современного бизнеса Матяр Сергей продакт-менеджер по направлению «Серверы / Системы хранения данных» Компания АМИ.
«1С-Битрикс: Корпоративный Портал» в аренду Другие арендные решения Александр Демидов руководитель направления арендных решений «1С-Битрикс»
Masterhost.ru Выбор хостинг-платформы для размещения сайта.
Учебный курс Технологии и средства разработки корпоративных систем Лекция 1 Открытые системы. Клиент и сервер Лекции читает кандидат технических наук,
Аспекты увеличения быстродействия «1С-Битрикс: Управление сайтом» на виртуальном хостинге Артём Рябинков 1С-Битрикс.
SQL SERVER И ПРОДУКТЫ 1С 1. 1С + Microsoft = ПАРТНЕРСТВО 2 Сотрудничество 15+ лет Совместный продукт с 1998 года + Гибкость лицензирования Отдельная закупка.
Разработка высоконагруженных проектов Олег Бунин.
Виртуальная машина 3.0: Как запустить веб-кластер за 15 минут Денис Шаромов руководитель отдела техподдержки «1С-Битрикс»
Экономика отказоустойчивости веб-проектов Александр Демидов «1С-Битрикс» #FailOverConf.
Транксрипт:

1С-Битрикс: Управление сайтом 10.0 Веб-кластер

Сколько стоит 1 час? Крупный интернет-магазин с годовым оборотом 1.5 млрд. руб. 210 рабочих дней в году по 10 рабочих часов. Час простоя крупного интернет-проекта может обойтись владельцам в 0,3 - 1 миллион рублей упущенной выручки. Пример:

1С-Битрикс: Веб-кластер Основные задачи, которые необходимо решить: 1.Обеспечение высокой доступности сервиса (так называемые HA - High Availability или Failover кластеры) 2.Масштабирование веб-проекта в условиях возрастающей нагрузки (HP - High Performance кластеры) 3.Балансирование нагрузки, трафика, данных между несколькими серверами. 4.Создание целостной резервной копии данных для MySQL.

1С-Битрикс: Веб-кластер «Веб-кластер» обеспечивает непрерывность бизнеса, отказоустойчивость, масштабирование, распределение нагрузки. Любой новый или работающий проект на 1С-Битрикс: Управление сайтом 10.0 может быть представлен как веб-кластер взаимозаменяемых серверов. 1.При увеличении посещаемости можно быстро добавить в кластер новые сервера. 2.В случае выхода из строя одного из серверов кластера система продолжает беспрерывно обслуживать Клиентов. 3.Балансирование нагрузки, трафика, данных между несколькими серверами. 4.Система позволяет снимать резервные копии со специально выделенных узлов кластера, не влияя на работу сайта.

Веб-приложение («1С- Битрикс») Кэш данных База данных Традиционная конфигурация

История производительности платформы До 2005 года вопросом производительности системно не занимались год – производительность стала существенной задачей для разработки год – появление инструментов отладки SQL-запросов. Cистемная работа над производительностью продукта год – первое нагрузочное тестирование с QSOFT (1.5 млн. хитов в сутки на редакции «Бизнес», 6 млн. – на редакции «Старт») годы – развернуто 4 конфигурации Oracle RAC с 4 серверами год – «монитор производительности» во всех редакциях продукта годы – выпущены «1С-Битрикс: Виртуальная машина» и «1С- Битрикс: Веб-окружение» – сертификация хостинг-провайдеров год – рост производительности – на 430%! Новые нагрузочные тесты: 8.5 млн. хитов – «Бизнес», 12.4 млн. – «Старт», 85 млн. – «HTML кеш».

За три года – на 430% быстрее! +110%+430%

Варианты масштабирования до Разделение на два сервера: веб-сервер + база данных. 2.Увеличение мощности оборудования (чем мощнее – тем дороже; рост стоимости не пропорционален). 3.Выделение кеша на один внешний сервер через memcached. 4.Переход на Oracle (минимальная лицензия +5000$ за процессор). 5.Создание Oracle RAC (Real Application Cluster). Проект – около $ (оборудование + лицензия + «общая полка»). Очень мало специалистов. Для большинства клиентов производительности достаточно, но не решены проблемы отказоустойчивости, резервирования, сетевой доступности.

1С-Битрикс: Веб-кластер «1С-Битрикс: Веб-кластер» - это комбинация технологий: Вертикальный шардинг (вынесение модулей на отдельные серверы MySQL) Репликация MySQL (Oracle и MS SQL в дальнейшем) и балансирование нагрузки между серверами Распределенный кеш данных (memcached) Непрерывность сессий между веб-серверами (хранение сессий в базе данных) Кластеризация веб-сервера: – Синхронизация файлов – Балансирование нагрузки между серверами

1С-Битрикс: Веб-кластер Тестовый веб-кластер – в «облаке» Amazon

База данных MySQL База данных MySQL 1 База данных MySQL 2 Вертикальный шардинг Горизонтальный шардинг База данных MySQL База данных MySQL 1 База данных MySQL 2 Аккаунты a-m Аккаунты n-z Шардинг

Hазделение одной базы данных веб- приложения на две и более базы данных за счет выделения отдельных модулей, без изменения логики работы веб- приложения: Веб-аналитика Поиск 1.Эффективное распределение нагрузки. 2.Масштабирование. 3.Разделение больших объемов данных. Вертикальный шардинг

Веб-сервер Выделенный сервер MySQL «1С-Битрикс: Управление сайтом» Модуль «Поиск» Модуль «Веб-аналитика» Интенсивное использование клиентами поиска и статистики Примеры решений на веб-кластере: «Масштабирование при росте нагрузки (MySQL)»

Веб-сервер «1С-Битрикс: Веб-кластер» Вертикальный шардинг «1С-Битрикс: Веб-кластер» Выделенный сервер MySQL Модуль «Поиск» Модуль «Веб-аналитика» Выделенный сервер MySQL Примеры решений на веб-кластере: «Масштабирование при росте нагрузки (MySQL)»

Гибкая балансировка нагрузки SQL Простота администрирования Дешевое и быстрое неограниченное масштабирование Он-лайн бэкап Не требуется доработка логики веб-приложения Репликация и балансировка нагрузки MySQL

Веб-сервер База данных MySQL Веб-приложение Высокая нагрузка: ~10^3 writes/sec ~10^4 reads/sec Высокая посещаемость 1) Запросы обрабатываются только одним сервером СУБД 2) CPU и дисковая подсистема СУБД – перегружены Масштабирование при росте нагрузки MySQL

Веб-сервер База данных MySQL MASTER «1С-Битрикс: Веб-кластер» База данных MySQL SLAVE 1 База данных MySQL SLAVE N База данных MySQL SLAVE … MySQL replication, mixed-mode SQL-балансировщик 1С-Битрикс Масштабирование при росте нагрузки MySQL

Высокая эффективность - за счет централизованного использования кэша веб- приложением Надежность - за счет устойчивости подсистемы кешировния к выходу из строя отдельных компонентов Неограниченная масштабируемость - за счет добавления новых memcached-серверов. memcached 1 memcached 2 memcached 3 Веб-кластер «1С-Битрикс» 40%30% Веб-сервер Распределенный кеш данных (memcached)

Непрерывность сессий между веб-серверами Пользовательская сессия должна быть "прозрачной" для всех серверов веб- кластера. 1.После авторизации на одном из серверов пользователь должен считаться авторизованных и для всех других серверов. 2.И наоборот - окончание сессии на любом сервере должно означать ее окончание на всех серверах сразу.

Веб-сервер База данных MySQL Веб-приложение Высокая нагрузка на CPU >80% Высокая посещаемость 1) Нагрузка обрабатывается только одним веб-сервером 2) CPU перегружен обработкой PHP, прекомпилятор включен, наблюдаются segmentation faults Задача: масштабирование при росте нагрузки

Веб-сервер База данных MySQL Нода 1 «1С-Битрикс: Веб-кластер» Высокая посещаемость Веб-сервер Нода 2 «1С-Битрикс: Веб-кластер» Балансировщик нагрузки Нагрузка на CPU

База данных MySQL Нода 1 «1С-Битрикс: Веб-кластер» Очень высокая посещаемость Балансировщик нагрузки Нода 2 «1С-Битрикс: Веб-кластер» Нода N «1С-Битрикс: Веб-кластер» … Задача: масштабирование при росте нагрузки

Веб-сервер 1 /var/www Веб-сервер 2 ? Задача синхронизации файлов

Два типа: 1. Синхронный: Общая «дисковая полка» (дорого, не резервирует данные) Сетевые средства – NFS (очень медленно) OCFS2 DRDB 2. Асинхронный (синхронизация локальных дисков) rsync csync2 Синхронизация дисковых систем

NFS, SMB/CIFS, …. Просто, но медленно. Веб-сервер 1 Веб-сервер 2 NAS (Network Attached Storage) /var/www OCFS2, GFS2, …. Быстро, но сложно и дорого. SAN (Storage Area Network), «дисковая полка» /var/www Тип 1: общее хранилище данных

Нода 2 «1С-Битрикс: Веб-кластер» Csync2 Нода 1 «1С-Битрикс: Веб-кластер» Csync2 /var/www Нода 3 «1С-Битрикс: Веб-кластер» Csync2 /var/www Тип 2: синхронизация локальных дисков

Почему мы выбрали csync2? Быстрый доступ к файлам приложения за счет использования локальных хранилищ. Высокая скорость работы. Низкое потребление ресурсов (CPU, дисковые операции). Два этих фактора позволяют запускать процесс синхронизации максимально часто, поэтому данные на серверах становятся идентичными практически в "реальном времени". Простота настройки для обмена данными между любым количеством серверов. Возможность синхронизации удаления файлов. Защищенный обмен данными между хостами (SSL).

Веб-сервер База данных MySQL MASTER «1С-Битрикс: Веб-кластер» База данных MySQL SLAVE 1 База данных MySQL SLAVE N Он-лайн бэкап данных Диск Целостный логический/физический бэкап MySQL без замедления работы основной системы База данных MySQL MASTER candidate DRBD – он-лайн бэкап диска с базой данных Организация резервного копирования - MySQL

Веб-сервер «1С-Битрикс: Веб-кластер» /var/www LVM /var/www – снепшот 1 /var/www – снепшот 2 /var/www – снепшот 3 Быстрый, целостный бэкап на уровне Linux Быстрый, целостный, инкрементальный, автоматически консолидирумый бэкап инструментами хостера Организация резервного копирования - файлы

«1С-Битрикс: Веб- кластер», ДЦ в Москве БД Веб-нода «1С-Битрикс: Веб-кластер», ДЦ в Нью-Йорке «1С-Битрикс: Веб- кластер», ДЦ в Новосибирске круговой, асинхронной, master-master репликацией для обеспечения работы географически распределенных веб- кластеров 1С-Битрикс Кэш БД Веб-нода Кэш БД Веб-нода Кэш Мы работаем над…

«1С-Битрикс: Веб- кластер», ДЦ в Москве БД Веб-нода «1С-Битрикс: Веб- кластер», ДЦ в Нью-Йорке «1С-Битрикс: Веб- кластер», ДЦ в Новосибирске круговой, асинхронной, master-master репликацией для обеспечения работы географически распределенных веб- кластеров 1С-Битрикс Кэш БД Веб-нода Кэш БД Веб-нода Кэш БД Веб-нода Кэш БД Веб-нода Кэш БД Веб-нода Кэш БД Веб-нода Кэш БД Веб-нода Кэш БД Веб-нода Кэш Мы работаем над…

«Живой» «Веб-кластер» в Амазоне! Поехали!

Балансировщик (клиентские запросы по HTTP) Веб-сервер 1 memcached 1 Веб-сервер 2 memcached 1 MySQL master MySQL slave

Устойчивость системы при выключении узлов веб-кластера При отключении узлов кластера система не прерывает обслуживание клиентов. Увеличивается очередь (растет время отдачи страниц клиентам), однако в целом система сбалансирована по нагрузке. Обратное добавление узла веб- кластера пропорционально увеличивает производительность системы. Нагрузочный тест – отключение одного из узлов кластера

Руководство по настройке и администрированию «1С-Битрикс: Веб-кластер»

Спасибо за внимание! Вопросы?