Веб-кластер 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,
                                DNS балансировка                        софт.рейды, база на SSD-дисках,
                                                                        php-fpm (FastCGI), xcache, nagios/munin

                Балансировщик 1                   Балансировщик 2

                Proxy server (nginx)             Proxy server (nginx)

                  Стат. файлы                       Стат. файлы
                                                                               4 ядра, 8 ГБ

         Сервер-приложений 1                         Сервер-приложений 2

        «1С-Битрикс: Бизнес веб-                     «1С-Битрикс: Бизнес веб-
               кластер»                                     кластер»
                                       csync2
          SQL-балансировщик                           SQL-балансировщик
              1С-Битрикс                                  1С-Битрикс

                  База данных MySQL             База данных MySQL
                       MASTER                        SLAVE 1


4 ядра, 16 ГБ                                                                      Сервер бэкапов
Действующий веб-кластер: «www.komos.ru»
Внедрение веб-кластера провел золотой сертифицированный партнер (ID #53157)
«Профессиональные Интернет-решения», г. Ижевск. Редакция платформы – «Веб-
кластер».

Ключевые особенности проекта
Высоконагруженная площадка для проведения
электронных торгов группой компаний - «КОМОС
ГРУПП». В состав группы входит 13 крупнейших
предприятий, производящих продукты питания в
Удмуртии и Пермском крае.
Полученная в результате торгов стоимость
предложений составила почти 5 млрд. рублей менее
чем за год.
Обеспечена высокая производительность и
отказоустойчивость, легкая масштабируемость
электронной торговой площадки.
Архитектура: «www.komos.ru»
             Выделенный сервер 1                              Выделенный сервер 2

                Балансировщик
            (nginx, upstream/ip_hash)


                  Proxy (nginx)                                    Proxy (nginx)




                                                                                         Intel® Core™ i7-920 Quad-Core, 2 x



                                                                                                                              «1С-Битрикс: Веб-окружение 2.0»:
            «1С-Битрикс: Веб-кластер»                        «1С-Битрикс: Веб-кластер»




                                                                                         750 GB HDD SATA2 (software
              SQL-балансировщик         Csync2                 SQL-балансировщик
                  1С-Битрикс                                       1С-Битрикс




                                                                                                                              PHP5, ZendOptimizer+
                                                                                         RAID1), 8 GB DDR3
Memcached




                                                 Memcached

               База данных MySQL                                База данных MySQL
                    MASTER                                            SLAVE
Планируемое развитие архитектуры:
        «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С-Битрикс: Веб-окружение 2.0»:
CDN/s3 – видео,                                    Балансировщик                                   PHP5, ZendOptimizer+ , 8 ядер, 7
демо -дистрибутивы                           (nginx, кэширование статики,                          ГБ, software RAID10, xfs, s3fs. В
                                                    SSL-termination)                               проекте ~200ГБ статики


                       Выделенный сервер 1                                             Выделенный сервер 2
                            Proxy (nginx)                                                    Proxy (nginx)


                     «1С-Битрикс: Бизнес веб-кластер»                                «1С-Битрикс: Бизнес веб-кластер»




                                                                                                                            Сервер мониторинга
                            SQL-балансировщик           Csync2/inotify                      SQL-балансировщик
                                1С-Битрикс                                                      1С-Битрикс




                                                                                                                               (nagios/munin)
         Memcached




                         База данных MySQL                               Memcached       База данных MySQL
                              MASTER                                                           SLAVE
На что еще хочется обратить внимание
-   Простое дублирование связки ОС+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

Webcluster cases

  • 1.
    Веб-кластер 1С-Битрикс – примерыработающих проектов Александр Сербул Руководитель направления контроля качества интеграции и внедрений ООО «1С-Битрикс»
  • 2.
    Сколько стоит 1час? Пример: Крупный интернет-магазин с годовым оборотом 1.5 млрд. руб. 210 рабочих дней в году по 10 рабочих часов. Час простоя крупного интернет-проекта может обойтись владельцам в 0,3 - 1 миллион рублей упущенной выручки.
  • 3.
    1С-Битрикс: Веб-кластер Основные задачи, которые необходимо решить: 1. Обеспечение высокой доступности сервиса (так называемые HA - High Availability или Failover кластеры) 2. Масштабирование веб-проекта в условиях возрастающей нагрузки (HP - High Performance кластеры) 3. Удобное резервное копирование
  • 4.
    1С-Битрикс: Веб-кластер «1С-Битрикс: Веб-кластер»- это комбинация технологий: • Вертикальный шардинг (вынесение модулей на отдельные серверы MySQL) • Репликация MySQL (Oracle и MS SQL в дальнейшем) и балансирование нагрузки между серверами • Распределенный кеш данных (memcached) • Непрерывность сессий между веб-серверами (хранение сессий в базе данных) • Кластеризация веб-сервера: – Синхронизация файлов – Балансирование нагрузки между серверами
  • 5.
    Действующий веб-кластер: «kupibonus.ru» Внедрениевеб-кластера провел сертифицированный партнер (ID #215097) «Linemedia», г. Москва. Редакция платформы – «Бизнес веб-кластер». Ключевые особенности проекта Сегодня сайт ежедневно посещают несколько сотен тысяч пользователей, также дополнительную нагрузку генерируют партнёры проекта, имеющие доступ к проекту через API Kupibonus. Активная двухсторонняя интеграция с бэк-офисом «1С:Предприятие», интенсивные каналы взаимодействия с внешними сервисами. Обеспечена высокая производительность и отказоустойчивость не только публично части, но и внутренних бизнес-процессов и API. Внедрение прошло в короткие сроки – две недели.
  • 6.
    Архитектура: «kupibonus.ru» Ubuntu Linux 10.04 LTS, DNS балансировка софт.рейды, база на SSD-дисках, php-fpm (FastCGI), xcache, nagios/munin Балансировщик 1 Балансировщик 2 Proxy server (nginx) Proxy server (nginx) Стат. файлы Стат. файлы 4 ядра, 8 ГБ Сервер-приложений 1 Сервер-приложений 2 «1С-Битрикс: Бизнес веб- «1С-Битрикс: Бизнес веб- кластер» кластер» csync2 SQL-балансировщик SQL-балансировщик 1С-Битрикс 1С-Битрикс База данных MySQL База данных MySQL MASTER SLAVE 1 4 ядра, 16 ГБ Сервер бэкапов
  • 7.
    Действующий веб-кластер: «www.komos.ru» Внедрениевеб-кластера провел золотой сертифицированный партнер (ID #53157) «Профессиональные Интернет-решения», г. Ижевск. Редакция платформы – «Веб- кластер». Ключевые особенности проекта Высоконагруженная площадка для проведения электронных торгов группой компаний - «КОМОС ГРУПП». В состав группы входит 13 крупнейших предприятий, производящих продукты питания в Удмуртии и Пермском крае. Полученная в результате торгов стоимость предложений составила почти 5 млрд. рублей менее чем за год. Обеспечена высокая производительность и отказоустойчивость, легкая масштабируемость электронной торговой площадки.
  • 8.
    Архитектура: «www.komos.ru» Выделенный сервер 1 Выделенный сервер 2 Балансировщик (nginx, upstream/ip_hash) Proxy (nginx) Proxy (nginx) Intel® Core™ i7-920 Quad-Core, 2 x «1С-Битрикс: Веб-окружение 2.0»: «1С-Битрикс: Веб-кластер» «1С-Битрикс: Веб-кластер» 750 GB HDD SATA2 (software SQL-балансировщик Csync2 SQL-балансировщик 1С-Битрикс 1С-Битрикс PHP5, ZendOptimizer+ RAID1), 8 GB DDR3 Memcached Memcached База данных MySQL База данных MySQL MASTER SLAVE
  • 9.
    Планируемое развитие архитектуры: «www.komos.ru» Балансировщик, отдача и кэширование статики Сервер 1 Сервер 2 Вертикальный шардинг модуля «Веб-аналитика»
  • 10.
    Подсмотрено у Партнеров… А еще у одного нашего Партнера в работе интересный веб-кластер, который разворачивается в отечественном облаке «Оверсан-Скалакси» (www.scalaxy.ru). Система представляет из себя 2 сервера c тарифным планом «Сервер Битрикс» с установленным пакетом «Веб-окружение». Архитектура – легко масштабируется в случае возрастания нагрузки. «Сервер «Сервер «Сервер Битрикс» Битрикс» Битрикс» «1С-Битрикс: «1С-Битрикс: «1С-Битрикс: … Веб-кластер» Веб-кластер» Веб-кластер»
  • 11.
    Действующий веб-кластер: «www.1c-bitrix.ru» Внедрилисобственными силами . Ключевые особенности проекта Веб-кластер размещен в облаке Amazon. Достаточно большой объем контента. Высокая нагрузка как на публичную часть, так и на интеграционное API (marketplace), а также систему обновлений. Обеспечена высокая производительность и устойчивость, быстрое масштабирование в случае необходимости.
  • 12.
    Архитектура: «www.1с-bitrix.ru» «1С-Битрикс: Веб-окружение 2.0»: CDN/s3 – видео, Балансировщик PHP5, ZendOptimizer+ , 8 ядер, 7 демо -дистрибутивы (nginx, кэширование статики, ГБ, software RAID10, xfs, s3fs. В SSL-termination) проекте ~200ГБ статики Выделенный сервер 1 Выделенный сервер 2 Proxy (nginx) Proxy (nginx) «1С-Битрикс: Бизнес веб-кластер» «1С-Битрикс: Бизнес веб-кластер» Сервер мониторинга SQL-балансировщик Csync2/inotify SQL-балансировщик 1С-Битрикс 1С-Битрикс (nagios/munin) Memcached База данных MySQL Memcached База данных MySQL MASTER SLAVE
  • 13.
    На что ещехочется обратить внимание - Простое дублирование связки ОС+apache/php на другой машине за балансировщиком – значительно повышает стабильность проекта. - Машины можно отключать от балансировщика для проведения регламентных работ: обновления и настройки ПО (патчи безопасности, обновление платформы 1С-Битрикс), обслуживания оборудования. - Раздача «тяжелого» контента через CDN значительно снижает нагрузку на проект и повышает удовлетворенность клиента – видео не «тормозит», файлы быстро качаются из любой точки света, канал к проекту не забивается. - На mysql-slave машине у вас всегда свежие данные и готовый к использованию сервер БД, подключить который можно скриптом в течении минут. Восстановление последних данных из лог. бэкапа – более долгая процедура (часы, иногда сутки).
  • 14.
    Спасибо за внимание!Вопросы? Александр Сербул Руководитель направления контроля качества интеграции и внедрений ООО «1С-Битрикс» Моб.: +7 (926) 366-51-88 Тел.: +7 (495) 229-14-41 E-mail: serbul@1c-bitrix.ru Twitter: @AlexSerbul