1С-Битрикс: Веб-кластер
Сколько стоит 1 час?• Крупный интернет-  магазин с годовым  оборотом 1.5 млрд. руб.• 210 рабочих дней в году  по 10 рабочи...
Основные задачи, которыерешает веб-кластер:   Обеспечение высокой доступности   сервиса (так называемые HA - High   Availa...
«Веб-кластер» обеспечивает непрерывностьбизнеса, отказоустойчивость, масштабирование,распределение нагрузки.
Любой новый или работающий проект на«1С-Битрикс: Управление сайтом» можетбыть представлен как веб-кластервзаимозаменяемых ...
Традиционная конфигурация                       Веб-приложение                        («1С-Битрикс»)                      ...
История производительностиплатформы  2005 год – производительность стала существенной задачей для  разработки.  2007 год –...
1400000012000000100000008000000                                    2007 год6000000                                    2010...
Варианты масштабирования до 10.0:      Разделение на два сервера: веб-      сервер + база данных.      Увеличение мощности...
«1С-Битрикс: Веб-кластер» - это комбинациятехнологий:•   Вертикальный шардинг (вынесение модулей на    отдельные серверы M...
Тестовый веб-кластер – в«облаке» Amazon
Аккаунты                                                     a-m                      База данных                         ...
Вертикальный шардинг Разделение одной базы данных веб-приложения на две и более базы данных за счет выделения отдельных мо...
Примеры решений на веб-кластере:Масштабирование при росте нагрузки (MySQL)                Веб-сервер               «1С-Бит...
Примеры решений на веб-кластере:Масштабирование при росте нагрузки (MySQL)                                        Выделенн...
Репликация и балансировканагрузки MySQL Гибкая балансировка нагрузки SQL Простота администрирования Дешевое и быстрое неог...
Репликация и балансировканагрузки MySQL
Масштабирование при росте нагрузкиMySQL                           Высокая                        посещаемость             ...
Масштабирование при росте нагрузкиMySQL                                    Веб-сервер                             «1С-Битр...
Распределенный кеш данных(memcached) Высокая эффективность - за счет централизованного использования кэша веб-        memc...
Распределенный кеш данных(memcached)
Непрерывность сессий между веб-серверами Пользовательская сессия должна быть "прозрачной" для всех серверов веб-кластера. ...
Задача: масштабирование при ростенагрузки                    Высокая                 посещаемость                         ...
Задача: масштабирование при ростенагрузки                                     Высокая                                  пос...
Задача: масштабирование при ростенагрузки                      Очень высокая посещаемость                            Балан...
Задача синхронизации файлов         Веб-сервер 1              Веб-сервер 2                          ?                     ...
Синхронизация дисковых систем Два типа: 1. Синхронный: • Общая «дисковая полка»    (дорого, не резервирует    данные) • Се...
Тип 1: общее хранилище данных                     NAS (Network Attached Storage)                              /var/www    ...
Тип 2: синхронизация локальных дисков               Нода 1                                                  Нода 2      «1...
Почему мы выбрали csync2?    Быстрый доступ к файлам приложения за счет использования    локальных хранилищ.    Высокая ск...
Организация резервного копирования -MySQL                                                                       Онлайн    ...
Организация резервного копирования -файлы                                                 LVM            Веб-сервер       ...
Мы работаем над…                             круговой, асинхронной,«1С-Битрикс: Веб-кластер»,   master-master репликацией ...
Мы работаем над…                             круговой, асинхронной,«1С-Битрикс: Веб-кластер»,   master-master репликацией ...
«Живой» «Веб-кластер» в Амазоне!Поехали! 
Балансировщик (клиентские запросы                             по HTTP)      Веб-сервер 1                              Веб-...
Устойчивость системы при выключенииузлов веб-кластера                Нагрузочный тест – отключение одного из узлов кластер...
Руководство по настройке и администрированию          «1С-Битрикс: Веб-кластер»:http://www.1c-bitrix.ru/download/manuals/r...
Следите за нами!  twitter.com/1C_Bitrix  facebook.com/1CBitrix                          www.1c-bitrix.ru
Ответим на вашивопросы:8-800-250-18-60info@1c-bitrix.ruwww.1c-bitrix.ru
Upcoming SlideShare
Loading in …5
×

веб кластер

1,890 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,890
On SlideShare
0
From Embeds
0
Number of Embeds
1,170
Actions
Shares
0
Downloads
4
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

веб кластер

  1. 1. 1С-Битрикс: Веб-кластер
  2. 2. Сколько стоит 1 час?• Крупный интернет- магазин с годовым оборотом 1.5 млрд. руб.• 210 рабочих дней в году по 10 рабочих часов.• Час простоя крупного интернет-проекта может обойтись владельцам в 0,3 - 1 миллион рублей упущенной выручки.
  3. 3. Основные задачи, которыерешает веб-кластер: Обеспечение высокой доступности сервиса (так называемые HA - High Availability или Failover кластеры) Масштабирование веб-проекта в условиях возрастающей нагрузки (HP - High Performance кластеры) Балансирование нагрузки, трафика, данных между несколькими серверами Создание целостной резервной копии данных для MySQL
  4. 4. «Веб-кластер» обеспечивает непрерывностьбизнеса, отказоустойчивость, масштабирование,распределение нагрузки.
  5. 5. Любой новый или работающий проект на«1С-Битрикс: Управление сайтом» можетбыть представлен как веб-кластервзаимозаменяемых серверов. При увеличении посещаемости можно быстро добавить в кластер новые сервера. В случае выхода из строя одного из серверов кластера система продолжает беспрерывно обслуживать Клиентов. Балансирование нагрузки, трафика, данных между несколькими серверами. Система позволяет снимать резервные копии со специально выделенных узлов кластера, не влияя на работу сайта.
  6. 6. Традиционная конфигурация Веб-приложение («1С-Битрикс») Кэш данных База данных
  7. 7. История производительностиплатформы 2005 год – производительность стала существенной задачей для разработки. 2007 год – появление инструментов отладки SQL-запросов. 2007 год – первое нагрузочное тестирование с QSOFT (1.5 млн. хитов в сутки на редакции «Бизнес», 6 млн. – на редакции «Старт»). 2008-2010 годы – развернуто 4 конфигурации Oracle RAC с 4 серверами. 2009 год – «монитор производительности» во всех редакциях продукта. 2009-2010 годы – выпущены «1С-Битрикс: Виртуальная машина» и «1С- Битрикс: Веб-окружение». 2008-2011 – сертификация хостинг-провайдеров. 2010 год – рост производительности – на 430%! Новые нагрузочные тесты: 8.5 млн. хитов – «Бизнес», 12.4 млн. – «Старт», 85 млн. – «HTML кеш».
  8. 8. 1400000012000000100000008000000 2007 год6000000 2010 год40000002000000 0 "Старт" "Бизнес" +110% +430% За три года – на 430% быстрее!
  9. 9. Варианты масштабирования до 10.0: Разделение на два сервера: веб- сервер + база данных. Увеличение мощности оборудования (чем мощнее – тем дороже; рост стоимости не пропорционален). Выделение кеша на один внешний сервер через memcached. Переход на Oracle (минимальная лицензия +5000$ за процессор). Создание Oracle RAC (Real Application Cluster). Проект – около 150 000$ (оборудование + лицензия + «общая полка»). Очень мало специалистов.Для большинства клиентовпроизводительности достаточно, но нерешены проблемыотказоустойчивости, резервирования, сетевой доступности.
  10. 10. «1С-Битрикс: Веб-кластер» - это комбинациятехнологий:• Вертикальный шардинг (вынесение модулей на отдельные серверы MySQL)• Репликация MySQL (Oracle и MS SQL в дальнейшем) и балансирование нагрузки между серверами• Распределенный кеш данных (memcached)• Непрерывность сессий между веб-серверами (хранение сессий в базе данных)• Кластеризация веб-сервера: – Синхронизация файлов – Балансирование нагрузки между серверами
  11. 11. Тестовый веб-кластер – в«облаке» Amazon
  12. 12. Аккаунты a-m База данных База данных MySQL 1 MySQL 1База данных База данных MySQL MySQL База данных База данных MySQL 2 MySQL 2 Аккаунты n-z Вертикальный шардинг Горизонтальный шардинг
  13. 13. Вертикальный шардинг Разделение одной базы данных веб-приложения на две и более базы данных за счет выделения отдельных модулей, без изменения логики работы веб- приложения: • Веб-аналитика • Поиск Эффективное распределение нагрузки. Масштабирование. Разделение больших объемов данных.
  14. 14. Примеры решений на веб-кластере:Масштабирование при росте нагрузки (MySQL) Веб-сервер «1С-Битрикс: Интенсивное Управление сайтом» использование клиентами поиска и статистики Выделенный сервер MySQL Модуль «Поиск» Модуль «Веб-аналитика»
  15. 15. Примеры решений на веб-кластере:Масштабирование при росте нагрузки (MySQL) Выделенный сервер Веб-сервер MySQL «1С-Битрикс: Веб-кластер» Модуль «Поиск» Модуль «Веб-аналитика» Выделенный сервер MySQL Вертикальный шардинг «1С-Битрикс: Веб-кластер»
  16. 16. Репликация и балансировканагрузки MySQL Гибкая балансировка нагрузки SQL Простота администрирования Дешевое и быстрое неограниченное масштабирование Онлайн бэкап Не требуется доработка логики веб-приложения
  17. 17. Репликация и балансировканагрузки MySQL
  18. 18. Масштабирование при росте нагрузкиMySQL Высокая посещаемость Веб-сервер Веб-приложение Высокая нагрузка: ~10^3 writes/sec ~10^4 reads/sec 1) Запросы обрабатываются только одним сервером СУБД База данных MySQL 2) CPU и дисковая подсистема СУБД – перегружены
  19. 19. Масштабирование при росте нагрузкиMySQL Веб-сервер «1С-Битрикс: Веб-кластер» SQL-балансировщик MySQL 1С-Битрикс replication, mixed- mode База данных MySQL База данных MySQL База данных MySQL База данных MySQL MASTER SLAVE 1 SLAVE … SLAVE N
  20. 20. Распределенный кеш данных(memcached) Высокая эффективность - за счет централизованного использования кэша веб- memcached memcached memcached приложением 1 2 3 Надежность - за счет устойчивости подсистемы 30% 40% 30% кешировния к выходу из строя Веб-кластер «1С-Битрикс» отдельных компонентов Веб-сервер Веб-сервер Веб-сервер Неограниченная масштабируемость - за счет добавления новых memcached-серверов.
  21. 21. Распределенный кеш данных(memcached)
  22. 22. Непрерывность сессий между веб-серверами Пользовательская сессия должна быть "прозрачной" для всех серверов веб-кластера. После авторизации на одном из серверов пользователь должен считаться авторизованных и для всех других серверов. И наоборот - окончание сессии на любом сервере должно означать ее окончание на всех серверах сразу.
  23. 23. Задача: масштабирование при ростенагрузки Высокая посещаемость Высокая нагрузка на CPU >80% Веб-сервер Веб-приложение 1) Нагрузка обрабатывается только одним веб-сервером База данных MySQL 2) CPU перегружен обработкой PHP, прекомпилятор включен, наблюдаются segmentation faults
  24. 24. Задача: масштабирование при ростенагрузки Высокая посещаемость Нагрузка на CPU <50% Балансировщик нагрузки Веб-сервер Веб-сервер Нода 1 Нода 2 «1С-Битрикс: Веб-кластер» Авто-синхронизация «1С-Битрикс: Веб-кластер» База данных MySQL 1) Нагрузка равномерно распределяется между нодами веб-кластера 2) Сервера приложений не перегружены и работают в устойчивом штатном режиме
  25. 25. Задача: масштабирование при ростенагрузки Очень высокая посещаемость Балансировщик нагрузки Нода 1 Нода 2 Нода N «1С-Битрикс: Веб-кластер» «1С-Битрикс: Веб-кластер» … «1С-Битрикс: Веб-кластер» База данных MySQL
  26. 26. Задача синхронизации файлов Веб-сервер 1 Веб-сервер 2 ? /var/www
  27. 27. Синхронизация дисковых систем Два типа: 1. Синхронный: • Общая «дисковая полка» (дорого, не резервирует данные) • Сетевые средства – NFS (очень медленно) • OCFS2 • DRDB 2. Асинхронный (синхронизация локальных дисков) • rsync • csync2
  28. 28. Тип 1: общее хранилище данных NAS (Network Attached Storage) /var/www NFS, SMB/CIFS, …. Просто, но медленно. Веб-сервер 1 Веб-сервер 2 SAN (Storage Area Network), «дисковая OCFS2, GFS2, …. полка» Быстро, но /var/www сложно и дорого.
  29. 29. Тип 2: синхронизация локальных дисков Нода 1 Нода 2 «1С-Битрикс: Веб-кластер» «1С-Битрикс: Веб-кластер» Csync2 Csync2 /var/www /var/www Нода 3 «1С-Битрикс: Веб-кластер» Csync2 /var/www
  30. 30. Почему мы выбрали csync2? Быстрый доступ к файлам приложения за счет использования локальных хранилищ. Высокая скорость работы. Низкое потребление ресурсов (CPU, дисковые операции). Два этих фактора позволяют запускать процесс синхронизации максимально часто, поэтому данные на серверах становятся идентичными практически в "реальном времени". Простота настройки для обмена данными между любым количеством серверов. Возможность синхронизации удаления файлов. Защищенный обмен данными между хостами (SSL).
  31. 31. Организация резервного копирования -MySQL Онлайн База данных MySQL бэкап SLAVE N База данных MySQL данных MASTER candidate Веб-сервер DRBD – он-лайн бэкап «1С-Битрикс: Веб-кластер» диска с базой данных Диск База данных MySQL База данных MySQL MASTER SLAVE 1 Целостный логический/физический бэкап MySQL без замедления работы основной системы
  32. 32. Организация резервного копирования -файлы LVM Веб-сервер /var/www – снепшот 1 /var/www – снепшот 2 «1С-Битрикс: Веб-кластер» /var/www – снепшот 3 /var/www Быстрый, целостный бэкап на уровне Linux Быстрый, целостный, инкре ментальный, автоматическ и консолидирумый бэкап инструментами хостера
  33. 33. Мы работаем над… круговой, асинхронной,«1С-Битрикс: Веб-кластер», master-master репликацией для «1С-Битрикс: Веб- ДЦ в Москве обеспечения работы географически кластер», распределенных веб-кластеров 1С- ДЦ в Новосибирске Битрикс Веб-нода Веб-нода Кэш Кэш «1С-Битрикс: Веб-кластер», ДЦ в Нью-Йорке БД БД Веб-нода Кэш БД
  34. 34. Мы работаем над… круговой, асинхронной,«1С-Битрикс: Веб-кластер», master-master репликацией для «1С-Битрикс: Веб- ДЦ в Москве обеспечения работы географически кластер», распределенных веб-кластеров 1С- ДЦ в Новосибирске Битрикс Веб-нода Веб-нода Веб-нода Веб-нода Веб-нода Веб-нода Кэш Кэш Кэш Кэш Кэш Кэш «1С-Битрикс: Веб-кластер», БД ДЦ в Нью-Йорке БД БД БД БД БД Веб-нода Веб-нода Веб-нода Кэш Кэш Кэш БД БД БД
  35. 35. «Живой» «Веб-кластер» в Амазоне!Поехали! 
  36. 36. Балансировщик (клиентские запросы по HTTP) Веб-сервер 1 Веб-сервер 2 MySQL MySQLmemcached 1 memcached 1 master slave
  37. 37. Устойчивость системы при выключенииузлов веб-кластера Нагрузочный тест – отключение одного из узлов кластера При отключении узлов кластера система не прерывает обслуживание клиентов. Увеличивается очередь (растет время отдачи страниц клиентам), однако в целом система сбалансирована по нагрузке. Обратное добавление узла веб- кластера пропорционально увеличивает производительность системы.
  38. 38. Руководство по настройке и администрированию «1С-Битрикс: Веб-кластер»:http://www.1c-bitrix.ru/download/manuals/ru/web-cluster_guide.pdf
  39. 39. Следите за нами! twitter.com/1C_Bitrix facebook.com/1CBitrix www.1c-bitrix.ru
  40. 40. Ответим на вашивопросы:8-800-250-18-60info@1c-bitrix.ruwww.1c-bitrix.ru

×