'

Программная архитектура веб-систем на Битриксе: от простого сайта до веб-кластера

Понравилась презентация – покажи это...





Слайд 0

Программная архитектура веб-систем на Битриксе: от простого сайта до веб-кластера Александр Сербул Руководитель направления контроля качества интеграции и внедрений @AlexSerbul


Слайд 1

Bitrix Framework Фреймворк дает основу, «кубики» Ведущий разработчик/архитектор выбирает модель реализации веб-системы Понять философию фреймворка D7 – новое ядро Уметь «готовить из кубиков» Научиться эффективно расширять фреймворк Взаимодействие с внешними системами


Слайд 2

Простой сайт Стандартный компонент Компоненты Стандартный компонент Стандартный компонент Стандартный компонент Кастомный шаблон компонента Модули Стандартный модуль Стандартный модуль Стандартный модуль Стандартный модуль Админка Стандартная страница/раздел Стандартная страница/раздел Стандартная страница/раздел Кастомная форма инфоблока Кастомная форма элемента инфоблока Кастомный инфоблок Кастомный инфоблок Страница /раздел проекта Публичная часть Страница /раздел проекта Кастомный шаблон компонента Кастомный шаблон компонента Создаем структуру: Главная О компании Руководство Новости Фотогалерея Каталог Детальная продукта Кастомизируем 3-10 шаблонов Создаем и настраиваем 1-3 инфоблока Шаблон сайта Шаблон сайта Создаем 2-3 шаблона сайта с меню и цепочкой навигации Настраиваем карту сайта, поиск, авторизацию


Слайд 3

Простой сайт Понять как создавать шаблоны сайта Спроектировать структуру хранения статики/цепочка навигации Понять меню Разобраться с настройками стандартных компонентов, в т.ч. меню, карта сайта, цепочка навигации Научиться кастомизировать шаблоны простых компонентов Изучить принципы авторизации в ядре, формы авторизации Понять компонент поиска


Слайд 4

Много контента Стандартный компонент Компоненты Стандартный компонент Стандартный компонент Стандартный компонент Кастомный шаблон компонента Модули Стандартный модуль Стандартный модуль Стандартный модуль Стандартный модуль Админка Стандартная страница/раздел Стандартная страница/раздел Стандартная страница/раздел Кастомная форма инфоблока Кастомная форма элемента инфоблока Кастомный инфоблок Кастомный инфоблок Страница /раздел проекта Публичная часть Страница /раздел проекта Кастомный шаблон компонента Кастомный шаблон компонента Создаем структуру: Главная О компании Руководство Новости Фотогалерея Каталог Детальная продукта Кастомизируем 3-10 шаблонов Создаем и настраиваем 1-3 инфоблока Шаблон сайта Шаблон сайта Создаем 2-3 шаблона сайта с меню и цепочкой навигации Настраиваем карту сайта, поиск, авторизацию Настраиваем модули: «Облачные хранилища», «Документооборот», «Бизнес-процессы», «CDN»


Слайд 5

Много данных в инфоблоках Стандартный компонент Компоненты Стандартный компонент Стандартный компонент Стандартный компонент Кастомный шаблон компонента Модули Стандартный модуль Стандартный модуль Стандартный модуль Стандартный модуль Админка Стандартная страница/раздел Стандартная страница/раздел Стандартная страница/раздел Кастомная форма инфоблока Кастомная форма элемента инфоблока Кастомный инфоблок Кастомный инфоблок Страница /раздел проекта Публичная часть Страница /раздел проекта Кастомный шаблон компонента Кастомный шаблон компонента Создаем структуру: Главная О компании Руководство Новости Фотогалерея Каталог Детальная продукта Кастомизируем 3-10 шаблонов Создаем и настраиваем 5-200 инфоблоков; Инфоблоки 2.0; Индексы; Пользовательские свойства; Связи инфоблоков; Обработчики событий; Шаблон сайта Шаблон сайта Создаем 2-3 шаблона сайта с меню и цепочкой навигации Настраиваем карту сайта, поиск, авторизацию Импорт/экспорт


Слайд 6

Много данных в инфоблоках Спроектировать модель данных в инфоблоках Описать и реализовать основные запросы к данным из публички (иногда админки) Реализовать соединение выборок из инфоблоков (joins) Пользовательские свойства Кастомные админки к инфоблокам Управляемое и эффективное кэширование данных Экспорт/импорт – JSON, XML, REST, очереди, инкременты


Слайд 7

Много ролей в системе Стандартный компонент Компоненты Стандартный компонент Стандартный компонент Стандартный компонент Кастомный шаблон компонента Модули Стандартный модуль Стандартный модуль Стандартный модуль Стандартный модуль Админка Стандартная страница/раздел Стандартная страница/раздел Стандартная страница/раздел Кастомная форма инфоблока Кастомная форма элемента инфоблока Кастомный инфоблок Кастомный инфоблок Страница /раздел проекта Публичная часть Страница /раздел проекта Кастомный шаблон компонента Кастомный шаблон компонента Создаем структуру: Главная О компании Руководство Новости Фотогалерея Каталог Детальная продукта Кастомизируем 3-10 шаблонов Создаем группы = роли, настраиваем права на модули, папки, файлы Шаблон сайта Шаблон сайта Создаем 2-3 шаблона сайта с меню и цепочкой навигации Настраиваем карту сайта, поиск, авторизацию Группы, уровни доступа Настраиваем права на модули; «Проактивная защита», «Одноразовые пароли»


Слайд 8

Много ролей в системе Разбираемся с уровнями доступа к модулям, папкам, файлам Настраиваем группы и учетки Настраиваем уровни доступа Настраиваем административную панель, кнопки Включаем проактивную защиту, одноразовые пароли Тщательно тестируем


Слайд 9

Много кода Стандартный компонент Компоненты Стандартный компонент Стандартный компонент Стандартный компонент Кастомный компонент Модули Стандартный модуль Стандартный модуль Стандартный модуль Стандартный модуль Админка Стандартная страница/раздел Стандартная страница/раздел Стандартная страница/раздел Кастомная форма инфоблока Кастомная форма элемента инфоблока Кастомный инфоблок Кастомный инфоблок Страница /раздел проекта Публичная часть Страница /раздел проекта Создаем структуру: Главная О компании Руководство Новости Фотогалерея Каталог Детальная продукта Пишем свои компоненты и шаблоны, 5-50 Шаблон сайта Шаблон сайта Создаем 2-3 шаблона сайта с меню и цепочкой навигации Настраиваем карту сайта, поиск, авторизацию Кастомный модуль Кастомный модуль Кастомный модуль Кастомная админка Кастомная админка Кастомная админка Кастомный компонент Кастомный компонент Кастомный компонент Кастомный компонент Кастомный компонент Кастомный компонент Кастомный компонент «Кодим» свои модули Свои обработчики событий


Слайд 10

Много кода Создаем свои модули с интерфейсом настройки Код оформляем как классы/функции в своем модуле Создаем свои компоненты Определяем обработчики событий Пишем в техподдержку Битрикс – если событий не хватает Создаем свои админки


Слайд 11

Интеграция с внешними системами Исследуем модуль «Веб-сервисы» Создаем REST, SOAP, JSON, XML-RPC API Создаем свои таблицы в MySQL Используем NoSQL системы – MongoDB, Redis … Определяем обработчики событий Пишем в техподдержку Битрикс – если событий не хватает Создаем свои админки Импорты-экспорты, нагрузки


Слайд 12

Apache PHP «1C-Битрикс: Управление сайтом» - кластерная редакция Балансировщик nginx (upstream module) Сервер приложений 1 Apache Primary «1C-Битрикс: Управление сайтом» - кластерная редакция Сервер приложений 2 Сервер MySQL Master Сервер MySQL Slave MySQL (Innodb/XtraDB) MySQL (Innodb/XtraDB) DNS серверы Secondary PHP upstream backend { server app1.example.com max_fails=3 fail_timeout=30s; server app2.example.com max_fails=3 fail_timeout=30s; } … proxy_next_upstream error timeout http_500 http_502 http_503 http_504; Веб-кластер для архитектора


Слайд 13

Резервируем базу данных


Слайд 14

Apache PHP «1C-Битрикс: Управление сайтом» - кластерная редакция Балансировщик nginx (upstream module) Сервер приложений 1 Apache Primary «1C-Битрикс: Управление сайтом» - кластерная редакция Сервер приложений 2 Сервер MySQL Master Сервер MySQL Slave MySQL (Innodb/XtraDB) MySQL (Innodb/XtraDB) DNS серверы Secondary PHP Отказал SLAVE


Слайд 15

Резервируем кэш


Слайд 16

Резервируем файлы и каналы


Слайд 17

В коде приложения – ничего делать не нужно! Рассчитать ожидаемую на проект нагрузку Настроить пулы ресурсов: базы, кэши, обл. хранилища На базе требований по SLA – спроектировать логику восстановления В одном или двух ДЦ? Внедрить регламент резеврного копирования файлов и БД Веб-кластер для архитектора


Слайд 18

Спасибо за внимание! Вопросы? Александр Сербул serbul@1c-bitrix.ru @AlexSerbul


×

HTML:





Ссылка: