14
Веб-кластер 1С-Битрикс – примеры работающих проектов Александр Сербул Руководитель направления контроля качества интеграции и внедрений ООО «1С-Битрикс»

Webcluster cases

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Webcluster cases

Веб-кластер 1С-Битрикс – примеры работающих проектов

Александр Сербул

Руководитель направления контроля качестваинтеграции и внедрений

ООО «1С-Битрикс»

Page 2: Webcluster cases

Сколько стоит 1 час?

Крупный интернет-магазин с годовым оборотом 1.5 млрд. руб.

210 рабочих дней в году по 10 рабочих часов.

Час простоя крупного интернет-проекта может обойтись владельцам в 0,3 - 1 миллион рублей упущенной выручки.

Пример:

Page 3: Webcluster cases

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

Основные задачи, которые необходимо решить:

1. Обеспечение высокой доступности сервиса (так называемые HA - High Availability или Failover кластеры)

2. Масштабирование веб-проекта в условиях возрастающей нагрузки (HP - High Performance кластеры)

3. Удобное резервное копирование

Page 4: Webcluster cases

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

«1С-Битрикс: Веб-кластер» - это комбинация технологий:

Вертикальный шардинг (вынесение модулей на отдельные серверы MySQL)Репликация MySQL (Oracle и MS SQL в дальнейшем) и балансирование нагрузки

между серверамиРаспределенный кеш данных (memcached)

Непрерывность сессий между веб-серверами (хранение сессий в базе данных)Кластеризация веб-сервера:

Синхронизация файловБалансирование нагрузки между серверами

Page 5: Webcluster cases

Действующий веб-кластер: «kupibonus.ru»Внедрение веб-кластера провел сертифицированный партнер (ID #215097)«Linemedia», г. Москва. Редакция платформы – «Бизнес веб-кластер».

Ключевые особенности проектаСегодня сайт ежедневно посещают несколько сотен тысяч пользователей, также дополнительную нагрузку генерируют партнёры проекта, имеющие доступ к проекту через API Kupibonus. Активная двухсторонняя интеграция с бэк-офисом «1С:Предприятие», интенсивные каналы взаимодействия с внешними сервисами.Обеспечена высокая производительность и отказоустойчивость не только публично части, но и внутренних бизнес-процессов и API.Внедрение прошло в короткие сроки – две недели.

Page 6: Webcluster cases

Архитектура: «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 ГБ

Page 7: Webcluster cases

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

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

Page 8: Webcluster cases

Архитектура: «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)

Page 9: Webcluster cases

Планируемое развитие архитектуры: «www.komos.ru»

Сервер 1 Сервер 2

Балансировщик, отдача и кэширование статики

Вертикальный шардинг модуля «Веб-аналитика»

Page 10: Webcluster cases

Подсмотрено у Партнеров …

«Сервер Битрикс»

«Сервер Битрикс»

А еще у одного нашего Партнера в работе интересный веб-кластер, который разворачивается в отечественном облаке «Оверсан-Скалакси» (www.scalaxy.ru). Система представляет из себя 2 сервера c тарифным планом «Сервер Битрикс» с установленным пакетом «Веб-окружение».Архитектура – легко масштабируется в случае возрастания нагрузки.

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

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

«Сервер Битрикс»

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

Page 11: Webcluster cases

Действующий веб-кластер: «www.1c-bitrix.ru»Внедрили собственными силами .

Ключевые особенности проектаВеб-кластер размещен в облаке Amazon. Достаточно большой объем контента. Высокая нагрузка как на публичную часть, так и на интеграционное API (marketplace), а также систему обновлений.Обеспечена высокая производительность и устойчивость, быстрое масштабирование в случае необходимости.

Page 12: Webcluster cases

Архитектура: «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 – видео, демо -дистрибутивы

Page 13: Webcluster cases

На что еще хочется обратить внимание- Простое дублирование связки ОС+apache/php на другой машине

за балансировщиком – значительно повышает стабильность проекта.

- Машины можно отключать от балансировщика для проведения регламентных работ: обновления и настройки ПО (патчи безопасности, обновление платформы 1С-Битрикс), обслуживания оборудования.

- Раздача «тяжелого» контента через CDN значительно снижает нагрузку на проект и повышает удовлетворенность клиента – видео не «тормозит», файлы быстро качаются из любой точки света, канал к проекту не забивается.

- На mysql-slave машине у вас всегда свежие данные и готовый к использованию сервер БД, подключить который можно скриптом в течении минут. Восстановление последних данных из лог. бэкапа – более долгая процедура (часы, иногда сутки).

Page 14: Webcluster cases

Спасибо за внимание! Вопросы?

Александр Сербул

Руководитель направления контроля качестваинтеграции и внедрений ООО «1С-Битрикс»

Моб.: +7 (926) 366-51-88Тел.: +7 (495) 229-14-41E-mail: [email protected]: @AlexSerbul