Веб-кластер, технология, примеры работающих проектов, планы

advertisement
Веб-кластер 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»
Ubuntu Linux 10.04 LTS,
софт.рейды, база на SSD-дисках,
php-fpm (FastCGI), xcache, nagios/munin
DNS балансировка
Балансировщик 1
Балансировщик 2
Proxy server (nginx)
Proxy server (nginx)
Стат. файлы
Стат. файлы
Сервер-приложений 1
«1С-Битрикс: Бизнес вебкластер»
SQL-балансировщик
1С-Битрикс
База данных MySQL
MASTER
4 ядра, 16 ГБ
4 ядра, 8 ГБ
Сервер-приложений 2
csync2
«1С-Битрикс: Бизнес вебкластер»
SQL-балансировщик
1С-Битрикс
База данных MySQL
SLAVE 1
Сервер бэкапов
Действующий веб-кластер: «www.komos.ru»
Внедрение веб-кластера провел золотой сертифицированный партнер (ID #53157)
«Профессиональные Интернет-решения», г. Ижевск. Редакция платформы – «Вебкластер».
Ключевые особенности проекта
Высоконагруженная площадка для проведения
электронных торгов группой компаний - «КОМОС
ГРУПП». В состав группы входит 13 крупнейших
предприятий, производящих продукты питания в
Удмуртии и Пермском крае.
Полученная в результате торгов стоимость
предложений составила почти 5 млрд. рублей менее
чем за год.
Обеспечена высокая производительность и
отказоустойчивость, легкая масштабируемость
электронной торговой площадки.
Архитектура: «www.komos.ru»
Выделенный сервер 1
Выделенный сервер 2
Балансировщик
(nginx, upstream/ip_hash)
База данных MySQL
MASTER
Csync2
SQL-балансировщик
1С-Битрикс
Memcached
Memcached
SQL-балансировщик
1С-Битрикс
База данных MySQL
SLAVE
«1С-Битрикс: Веб-окружение 2.0»:
PHP5, ZendOptimizer+
«1С-Битрикс: Веб-кластер»
«1С-Битрикс: Веб-кластер»
Intel® Core™ i7-920 Quad-Core, 2 x
750 GB HDD SATA2 (software
RAID1), 8 GB DDR3
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»
Балансировщик
(nginx, кэширование статики,
SSL-termination)
Выделенный сервер 1
Выделенный сервер 2
Proxy (nginx)
Proxy (nginx)
«1С-Битрикс: Бизнес веб-кластер»
«1С-Битрикс: Бизнес веб-кластер»
База данных MySQL
MASTER
Csync2/inotify
SQL-балансировщик
1С-Битрикс
Memcached
SQL-балансировщик
1С-Битрикс
Memcached
«1С-Битрикс: Веб-окружение 2.0»:
PHP5, ZendOptimizer+ , 8 ядер, 7
ГБ, software RAID10, xfs, s3fs. В
проекте ~200ГБ статики
База данных MySQL
SLAVE
Сервер мониторинга
(nagios/munin)
CDN/s3 – видео,
демо -дистрибутивы
На что еще хочется обратить внимание
-
-
-
-
Простое дублирование связки ОС+apache/php на другой машине
за балансировщиком – значительно повышает стабильность
проекта.
Машины можно отключать от балансировщика для проведения
регламентных работ: обновления и настройки ПО (патчи
безопасности, обновление платформы 1С-Битрикс), обслуживания
оборудования.
Раздача «тяжелого» контента через CDN значительно снижает
нагрузку на проект и повышает удовлетворенность клиента – видео
не «тормозит», файлы быстро качаются из любой точки света,
канал к проекту не забивается.
На mysql-slave машине у вас всегда свежие данные и готовый к
использованию сервер БД, подключить который можно скриптом в
течении минут. Восстановление последних данных из лог. бэкапа –
более долгая процедура (часы, иногда сутки).
Спасибо за внимание! Вопросы?
Александр Сербул
Руководитель направления контроля качества
интеграции и внедрений
ООО «1С-Битрикс»
Моб.: +7 (926) 366-51-88
Тел.: +7 (495) 229-14-41
E-mail: serbul@1c-bitrix.ru
Twitter: @AlexSerbul
Download