Поддержка кластерных   решений, master-slaveрепликация и вертикальный        шардинг
Сколько стоит 1 час?Пример:Крупный интернет-магазин с годовым оборотом 1.5 млрд. руб.210 рабочих дней в году по 10 рабочих...
Сколько стоит 1 час?А также…Будет разрываться телефон звонками от Заказчика, Клиентов.Сисадмин будет пить валидол и вспоми...
Сколько стоит 1 час???А также…Будет разрываться телефон звонками от Заказчика, Клиентов.Сисадмин будет пить валидол и вспо...
1С-Битрикс: Веб-кластер         Основные задачи, которые         необходимо решить:         1. Обеспечение высокой доступн...
1С-Битрикс: Веб-кластер«Веб-кластер» обеспечивает непрерывность бизнеса,отказоустойчивость, масштабирование, распределение...
Конфигурации веб-проектов           на 1С-Битрикс (начало пути)      Сервер                 Сервер                 Сервер ...
Конфигурации веб-проектовна 1С-Битрикс («первое» масштабирование)                             Сервер                      ...
Дальше – сложнее …
Дальнейшая кластеризация веб-проекта                                                   Серверы SLAVE                      ...
Дальнейшая кластеризация веб-проекта                                             Аккаунты                                 ...
1С-Битрикс: Веб-кластер«1С-Битрикс: Веб-кластер» - это комбинация технологий:•   Вертикальный шардинг (вынесение модулей н...
Вертикальный шардингРазделение одной базы данных веб-приложения на две и более базы данныхза счет выделения отдельныхмодул...
Репликация и балансировка нагрузки MySQL• Гибкая балансировка  нагрузки SQL• Простота  администрирования• Дешевое и быстро...
Масштабирование при росте нагрузки MySQL                            Веб-сервер                 «1С-Битрикс: Веб-кластер»  ...
Распределенный кеш данных (memcached)• Высокая эффективность -  за счет централизованного  использования кэша веб-  прилож...
Распределенный кеш данных (memcached)
Непрерывность сессий между веб-серверамиПользовательскаясессия должна быть"прозрачной" длявсех серверов веб-кластера.1. По...
Задача: масштабирование при росте нагрузки                                    Высокая                                 посе...
Задача: масштабирование при росте нагрузки                   Очень высокая посещаемость                         Балансиров...
Задача синхронизации файловВеб-сервер 1              Веб-сервер 2                 ?               /var/www
Синхронизация файловДва типа:1. Синхронный:• Общая «дисковая полка»• Сетевые средства – NFS• OCFS2, GFS2• DRBD для надежно...
Почему мы выбрали csync2?• Быстрый доступ к файлам приложения за счет использования  локальных хранилищ.• Высокая скорость...
Пример синхронизации файлов кластера            Нода 1                                              Нода 2   «1С-Битрикс: ...
Способы балансирования нагрузки• DNS сервер с несколькими записями типа A и разными IP адресами  и коротким TTL• NGINX на ...
Разворачиваем веб-кластер в «облаке»                                      Балансировщик «облака»                          ...
Миграция веб-кластера между дата-центрами Дата-центр 1                    Дата-центр 2 1С-Битрикс: Веб-кластерRDBMS(MySQL)...
Миграция веб-кластера между дата-центрами                                Дата-центр 2                                Веб-к...
Устойчивость системы при выключении узлов веб-кластера       Нагрузочный тест – отключение одного из узлов кластераПри отк...
Мы работаем над…«1С-Битрикс: Веб-                                         «1С-Битрикс: Веб-    кластер»,              круг...
Мы работаем над… «1С-Битрикс: Веб-                                         «1С-Битрикс: Веб-     кластер»,              кр...
Руководство по настройке и администрированию           «1С-Битрикс: Веб-кластер»http://www.1c-bitrix.ru/download/manuals/r...
Спасибо за внимание! Вопросы?       Александр Сербул       serbul@1c-bitrix.ru       Twitter: #AlexSerbul
Upcoming SlideShare
Loading in...5
×

1С-Битрикс - Веб-кластер

895

Published on

Семинар 1С-Битрикс и Оверсан-Скалакси

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
895
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
8
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

1С-Битрикс - Веб-кластер

  1. 1. Поддержка кластерных решений, master-slaveрепликация и вертикальный шардинг
  2. 2. Сколько стоит 1 час?Пример:Крупный интернет-магазин с годовым оборотом 1.5 млрд. руб.210 рабочих дней в году по 10 рабочих часов.Час простоя крупного интернет-проекта может обойтись владельцам в 0,3 -1 миллион рублей упущенной выручки.
  3. 3. Сколько стоит 1 час?А также…Будет разрываться телефон звонками от Заказчика, Клиентов.Сисадмин будет пить валидол и вспоминать где расположена клавиша«Enter» 
  4. 4. Сколько стоит 1 час???А также…Будет разрываться телефон звонками от Заказчика, Клиентов.Сисадмин будет пить валидол и вспоминать где расположена клавиша«Enter» 
  5. 5. 1С-Битрикс: Веб-кластер Основные задачи, которые необходимо решить: 1. Обеспечение высокой доступности сервиса (так называемые HA - High Availability или Failover кластеры) 2. Масштабирование веб-проекта в условиях возрастающей нагрузки (HP - High Performance кластеры) 3. Удобное резервное копирование
  6. 6. 1С-Битрикс: Веб-кластер«Веб-кластер» обеспечивает непрерывность бизнеса,отказоустойчивость, масштабирование, распределение нагрузки.Любой новый или работающий проект на 1С-Битрикс: Управление сайтом 10.0 может бытьпредставлен как веб-кластер взаимозаменяемых серверов.1. При увеличении посещаемости можно быстро добавить в кластер новые сервера.2. В случае выхода из строя одного из серверов кластера система продолжает беспрерывно обслуживать Клиентов.3. Балансирование нагрузки, трафика, данных между несколькими серверами.4. Система позволяет снимать резервные копии со специально выделенных узлов кластера, не влияя на работу сайта.
  7. 7. Конфигурации веб-проектов на 1С-Битрикс (начало пути) Сервер Сервер Сервер Proxy server (Nginx) Proxy server (Nginx) Web server(Apache+1С-Битрикс) Appl. server 1С-Битрикс - PHP (Apache+1С-Битрикс) (FastCGI) RDBMS(MySQL) RDBMS(MySQL) RDBMS(MySQL)
  8. 8. Конфигурации веб-проектовна 1С-Битрикс («первое» масштабирование) Сервер Proxy server (Nginx) Стат. файлы Сервер Сервер Appl. server (Apache+1С-Битрикс) RDBMS(MySQL)
  9. 9. Дальше – сложнее …
  10. 10. Дальнейшая кластеризация веб-проекта Серверы SLAVE Сервер-балансировщик SLAVE SLAVE Proxy server (Nginx) RDBMS(MySQL)Общие Общие Стат. файлыфайлы сессии Серверы приложений Серверы MASTER Сервер MASTER Сервер Appl. server Диспетчер SQL (Apache+PHP) запросов RDBMS(MySQL)
  11. 11. Дальнейшая кластеризация веб-проекта Аккаунты a-m База данных База данных MySQL 1 MySQL 1 База данных База данных MySQL MySQL База данных База данных MySQL 2 MySQL 2 Аккаунты n-zВертикальный шардинг Горизонтальный шардинг
  12. 12. 1С-Битрикс: Веб-кластер«1С-Битрикс: Веб-кластер» - это комбинация технологий:• Вертикальный шардинг (вынесение модулей на отдельные серверы MySQL)• Репликация MySQL (Oracle и MS SQL в дальнейшем) и балансирование нагрузки между серверами• Распределенный кеш данных (memcached)• Непрерывность сессий между веб-серверами (хранение сессий в базе данных)• Кластеризация веб-сервера: – Синхронизация файлов – Балансирование нагрузки между серверами
  13. 13. Вертикальный шардингРазделение одной базы данных веб-приложения на две и более базы данныхза счет выделения отдельныхмодулей, без изменения логики работывеб-приложения:• Веб-аналитика• Поиск1. Эффективное распределение нагрузки.2. Масштабирование.3. Разделение больших объемов данных.
  14. 14. Репликация и балансировка нагрузки MySQL• Гибкая балансировка нагрузки SQL• Простота администрирования• Дешевое и быстрое неограниченное масштабирование• Он-лайн бэкап• Не требуется доработка логики веб-приложения
  15. 15. Масштабирование при росте нагрузки MySQL Веб-сервер «1С-Битрикс: Веб-кластер» SQL-балансировщик MySQL replication 1С-БитриксБаза данных База данных База данных База данных MySQL MySQL MySQL MySQL MASTER SLAVE 1 SLAVE … SLAVE N
  16. 16. Распределенный кеш данных (memcached)• Высокая эффективность - за счет централизованного использования кэша веб- приложением memcached memcached memcached• Надежность - за счет 1 2 3 устойчивости подсистемы кешировния к выходу из 30% 40% 30% строя отдельных компонентов Веб-кластер «1С-Битрикс»• Неограниченная Веб-сервер Веб-сервер Веб-сервер масштабируемость - за счет добавления новых memcached-серверов.
  17. 17. Распределенный кеш данных (memcached)
  18. 18. Непрерывность сессий между веб-серверамиПользовательскаясессия должна быть"прозрачной" длявсех серверов веб-кластера.1. После авторизации на одном из серверов пользователь должен считаться авторизованных и для всех других серверов.2. И наоборот - окончание сессии на любом сервере должно означать ее окончание на всех серверах сразу.
  19. 19. Задача: масштабирование при росте нагрузки Высокая посещаемость Нагрузка на CPU <50% Балансировщик нагрузки Веб-сервер Веб-сервер Нода 1 Нода 2 «1С-Битрикс: Веб-кластер» Авто-синхронизация «1С-Битрикс: Веб-кластер» 1) Нагрузка распределяется База данных между нодами веб-кластера MySQL 2) Сервера приложений не перегружены и работают в устойчивом штатном режиме
  20. 20. Задача: масштабирование при росте нагрузки Очень высокая посещаемость Балансировщик нагрузки Нода 1 Нода 2 … Нода N «1С-Битрикс: «1С-Битрикс: «1С-Битрикс: Веб-кластер» Веб-кластер» Веб-кластер» База данных MySQL
  21. 21. Задача синхронизации файловВеб-сервер 1 Веб-сервер 2 ? /var/www
  22. 22. Синхронизация файловДва типа:1. Синхронный:• Общая «дисковая полка»• Сетевые средства – NFS• OCFS2, GFS2• DRBD для надежности2. Асинхронный:• rsync• csync2
  23. 23. Почему мы выбрали csync2?• Быстрый доступ к файлам приложения за счет использования локальных хранилищ.• Высокая скорость работы.• Низкое потребление ресурсов (CPU, дисковые операции). Два этих фактора позволяют запускать процесс синхронизации максимально часто, поэтому данные на серверах становятся идентичными практически в "реальном времени".• Простота настройки для обмена данными между любым количеством серверов.• Возможность синхронизации удаления файлов.• Защищенный обмен данными между хостами (SSL).
  24. 24. Пример синхронизации файлов кластера Нода 1 Нода 2 «1С-Битрикс: Веб-кластер» «1С-Битрикс: Веб-кластер» Csync2 Csync2 /var/www /var/www Нода 3 «1С-Битрикс: Веб-кластер» Csync2 /var/www
  25. 25. Способы балансирования нагрузки• DNS сервер с несколькими записями типа A и разными IP адресами и коротким TTL• NGINX на отдельном оборудовании• Аппаратный маршрутизатор с балансированием нагрузки• Балансировка силами дата центра (облака)
  26. 26. Разворачиваем веб-кластер в «облаке» Балансировщик «облака» dили nginx и др. Вирт. сервер 1 Вирт. сервер 2Proxy server (Nginx) Proxy server (Nginx) (memcached) (memcached) Appl. server Appl. server Кэш Кэш(Apache+1С-Битрикс) (Apache+1С-Битрикс) RDBMS(MySQL) RDBMS(MySQL) Master Slave
  27. 27. Миграция веб-кластера между дата-центрами Дата-центр 1 Дата-центр 2 1С-Битрикс: Веб-кластерRDBMS(MySQL) RDBMS(MySQL) Master Slave «Горячий» бэкап S3 снепшот снепшот S3Cнепшот
  28. 28. Миграция веб-кластера между дата-центрами Дата-центр 2 Веб-кластер RDBMS(MySQL) Master S3 снепшот снепшот S3Cнепшот
  29. 29. Устойчивость системы при выключении узлов веб-кластера Нагрузочный тест – отключение одного из узлов кластераПри отключении узлов кластерасистема не прерывает обслуживаниеклиентов.Увеличивается очередь (растет времяотдачи страниц клиентам), однако вцелом система сбалансирована понагрузке.Обратное добавление узла веб-кластера пропорционально увеличиваетпроизводительность системы.
  30. 30. Мы работаем над…«1С-Битрикс: Веб- «1С-Битрикс: Веб- кластер», круговой, асинхронной, кластер», ДЦ в Москве master-master ДЦ в Новосибирске репликацией для обеспечения работы Веб-нода географически распределенных веб- Веб-нода кластеров 1С-Битрикс Кэш Кэш «1С-Битрикс: Веб-кластер», ДЦ в Нью-Йорке БД БД Веб-нода Кэш БД
  31. 31. Мы работаем над… «1С-Битрикс: Веб- «1С-Битрикс: Веб- кластер», круговой, асинхронной, кластер», ДЦ в Москве master-master ДЦ в Новосибирске репликацией для обеспечения работыВеб-нода географически распределенных веб- Веб-нода Веб-нода Веб-нода Веб-нода кластеров 1С-Битрикс Веб-нода Кэш Кэш Кэш Кэш Кэш Кэш «1С-Битрикс: Веб- БД кластер», БД БД ДЦ в Нью-Йорке БД БД БД Веб-нода Веб-нода Веб-нода Кэш Кэш Кэш БД БД БД
  32. 32. Руководство по настройке и администрированию «1С-Битрикс: Веб-кластер»http://www.1c-bitrix.ru/download/manuals/ru/web-cluster_guide.pdf
  33. 33. Спасибо за внимание! Вопросы? Александр Сербул serbul@1c-bitrix.ru Twitter: #AlexSerbul
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×