Веб-кластер 1С-Битрикс – примеры работающих проектов
Александр Сербул
Руководитель направления контроля качестваинтеграции и внедрений
ООО «1С-Битрикс»
Сколько стоит 1 час?
Крупный интернет-магазин с годовым оборотом 1.5 млрд. руб.
210 рабочих дней в году по 10 рабочих часов.
Час простоя крупного интернет-проекта может обойтись владельцам в 0,3 - 1 миллион рублей упущенной выручки.
Пример:
1С-Битрикс: Веб-кластер
Основные задачи, которые необходимо решить:
1. Обеспечение высокой доступности сервиса (так называемые HA - High Availability или Failover кластеры)
2. Масштабирование веб-проекта в условиях возрастающей нагрузки (HP - High Performance кластеры)
3. Удобное резервное копирование
1С-Битрикс: Веб-кластер
«1С-Битрикс: Веб-кластер» - это комбинация технологий:
Вертикальный шардинг (вынесение модулей на отдельные серверы MySQL)Репликация MySQL (Oracle и MS SQL в дальнейшем) и балансирование нагрузки
между серверамиРаспределенный кеш данных (memcached)
Непрерывность сессий между веб-серверами (хранение сессий в базе данных)Кластеризация веб-сервера:
Синхронизация файловБалансирование нагрузки между серверами
Действующий веб-кластер: «kupibonus.ru»Внедрение веб-кластера провел сертифицированный партнер (ID #215097)«Linemedia», г. Москва. Редакция платформы – «Бизнес веб-кластер».
Ключевые особенности проектаСегодня сайт ежедневно посещают несколько сотен тысяч пользователей, также дополнительную нагрузку генерируют партнёры проекта, имеющие доступ к проекту через API Kupibonus. Активная двухсторонняя интеграция с бэк-офисом «1С:Предприятие», интенсивные каналы взаимодействия с внешними сервисами.Обеспечена высокая производительность и отказоустойчивость не только публично части, но и внутренних бизнес-процессов и API.Внедрение прошло в короткие сроки – две недели.
Архитектура: «kupibonus.ru»
Сервер-приложений 1
База данных MySQLMASTER
«1С-Битрикс: Бизнес веб-кластер»
База данных MySQLSLAVE 1
SQL-балансировщик1С-Битрикс
Сервер-приложений 2
«1С-Битрикс: Бизнес веб-кластер»
SQL-балансировщик1С-Битрикс
Балансировщик 1
Proxy server (nginx)
Стат. файлы
Балансировщик 2
Proxy server (nginx)
Стат. файлы
Сервер бэкапов
DNS балансировка
csync2
Ubuntu Linux 10.04 LTS,софт.рейды, база на SSD-дисках, php-fpm (FastCGI), xcache, nagios/munin
4 ядра, 8 ГБ
4 ядра, 16 ГБ
Действующий веб-кластер: «www.komos.ru»Внедрение веб-кластера провел золотой сертифицированный партнер (ID #53157)«Профессиональные Интернет-решения», г. Ижевск. Редакция платформы – «Веб-кластер».
Ключевые особенности проектаВысоконагруженная площадка для проведения электронных торгов группой компаний - «КОМОС ГРУПП». В состав группы входит 13 крупнейших предприятий, производящих продукты питания в Удмуртии и Пермском крае.Полученная в результате торгов стоимость предложений составила почти 5 млрд. рублей менее чем за год.Обеспечена высокая производительность и отказоустойчивость, легкая масштабируемость электронной торговой площадки.
Архитектура: «www.komos.ru»
Выделенный сервер 1
«1С-Битрикс: Веб-кластер»
SQL-балансировщик1С-Битрикс
Выделенный сервер 2
«1С-Битрикс: Веб-кластер»
SQL-балансировщик1С-Битрикс
Балансировщик(nginx, upstream/ip_hash)
Csync2
Inte
l® C
ore
™ i7
-92
0 Q
ua
d-C
ore
, 2
x
75
0 G
B H
DD
SA
TA2
(so
ftw
are
R
AID
1),
8 G
B D
DR
3
«1
С-Б
итр
икс
: В
еб-о
круж
ени
е 2
.0»
:
PH
P5
, Z
en
dO
ptim
ize
r+
База данных MySQLMASTER
База данных MySQLSLAVE
Mem
cach
ed
Mem
cach
ed
Proxy (nginx) Proxy (nginx)
Планируемое развитие архитектуры: «www.komos.ru»
Сервер 1 Сервер 2
Балансировщик, отдача и кэширование статики
Вертикальный шардинг модуля «Веб-аналитика»
Подсмотрено у Партнеров …
«Сервер Битрикс»
«Сервер Битрикс»
А еще у одного нашего Партнера в работе интересный веб-кластер, который разворачивается в отечественном облаке «Оверсан-Скалакси» (www.scalaxy.ru). Система представляет из себя 2 сервера c тарифным планом «Сервер Битрикс» с установленным пакетом «Веб-окружение».Архитектура – легко масштабируется в случае возрастания нагрузки.
«1С-Битрикс: Веб-кластер»
«1С-Битрикс: Веб-кластер»
«Сервер Битрикс»
«1С-Битрикс: Веб-кластер»
…
Действующий веб-кластер: «www.1c-bitrix.ru»Внедрили собственными силами .
Ключевые особенности проектаВеб-кластер размещен в облаке Amazon. Достаточно большой объем контента. Высокая нагрузка как на публичную часть, так и на интеграционное API (marketplace), а также систему обновлений.Обеспечена высокая производительность и устойчивость, быстрое масштабирование в случае необходимости.
Архитектура: «www.1с-bitrix.ru»
Выделенный сервер 1
«1С-Битрикс: Бизнес веб-кластер»
SQL-балансировщик1С-Битрикс
Выделенный сервер 2
«1С-Битрикс: Бизнес веб-кластер»
SQL-балансировщик1С-Битрикс
Балансировщик(nginx, кэширование статики,
SSL-termination)
Csync2/inotify
«1С-Битрикс: Веб-окружение 2.0»: PHP5, ZendOptimizer+ , 8 ядер, 7 ГБ, software RAID10, xfs, s3fs. В проекте ~200ГБ статики
База данных MySQLMASTER
База данных MySQLSLAVE
Mem
cach
ed
Mem
cach
ed
Proxy (nginx) Proxy (nginx)
Сер
вер
мо
ни
тор
ин
га(n
agio
s/m
unin
)
CDN/s3 – видео, демо -дистрибутивы
На что еще хочется обратить внимание- Простое дублирование связки ОС+apache/php на другой машине
за балансировщиком – значительно повышает стабильность проекта.
- Машины можно отключать от балансировщика для проведения регламентных работ: обновления и настройки ПО (патчи безопасности, обновление платформы 1С-Битрикс), обслуживания оборудования.
- Раздача «тяжелого» контента через CDN значительно снижает нагрузку на проект и повышает удовлетворенность клиента – видео не «тормозит», файлы быстро качаются из любой точки света, канал к проекту не забивается.
- На mysql-slave машине у вас всегда свежие данные и готовый к использованию сервер БД, подключить который можно скриптом в течении минут. Восстановление последних данных из лог. бэкапа – более долгая процедура (часы, иногда сутки).
Спасибо за внимание! Вопросы?
Александр Сербул
Руководитель направления контроля качестваинтеграции и внедрений ООО «1С-Битрикс»
Моб.: +7 (926) 366-51-88Тел.: +7 (495) 229-14-41E-mail: [email protected]: @AlexSerbul