Интернет-магазины, высокие нагрузки, синхронизации бизнесприложений с веб-системой Александр Сербул Руководитель направления контроля качества интеграции и внедрений @AlexSerbul Интернет-магазины Обязательно прочитайте курсы по интернет-магазину! Сэкономите человеко-недели. Ключевые модули и сущности: - Модуль «Информационные блоки» - Модуль «Интернет-магазин» - Модуль «Торговый каталог» - Модуль «Валюты» - Авторизация - Корзина, Скидки - Мастер заказа - Админка по работе с сущностями магазина Интернет-магазины - начало Инфоблок для представления товаров и услуг Услуги – можно продавать Модуль «Интернет-магазин», CSaleBasket Тщательная кастомизация мастера заказа, корзины Проектируем персональный раздел Клиента Особое внимание – административному разделу Интернет-магазины – Каталоги товаров Модуль «Торговый каталог» - исследовать в деталях Спроектируйте ценообразование! Валюты Типы цен Вилки цен Структура каталога и поисковая оптимизация, дубликаты ссылок Бандлы SCU – дополнительные характеристики ценовых предложений Скидки – формируются по правилам Почувствуйте разницу между каталогом товаров и корзиной! Интернет-магазины – Сложная корзина Подарки в корзине Динамическое формирование цен в корзине Бандлы в корзине Дополнительные свойства позиций в корзине Отложенные товары Callbacks, актуализация позиций в корзине Когда корзин нужно много Интернет-магазины – Мастер заказа Типы плательщиков Свойства заказа – базовые и расширенные Динамические свойства заказа в зависимости от позиций в корзине Платежные системы, мобильная оплата Службы доставки Быстрый заказ Что еще полезно хранить в заказе и его позициях Интернет-магазины – Персональный раздел, Админка Нарисуйте все интерфейсы, подумайте! Обновление каталога и персональный раздел Удаленные позиции каталога Проработайте все менеджерские админки магазина Статусы заказа – проектируем Большие магазины - изнутри Можно и нужно создавать кастомные админки Интернет-магазины – Интеграция, экспорт/импорт Выгрузку в 1С можно кастомизировать CSV, ftp – не нужно пренебрегать Экспорт/импорт каталогов – риски, объемы Целостность сущностей при синхронизации XML DTD/Schema Веб-сервисы, очереди сообщений Высокие нагрузки – работа с данными Готовьтесь сразу Аудит кода, оптимальное использование АПИ Битрикс Свое АПИ и тормоза… Анализ SQL-запросов из АПИ Тщательное проектирование модели данных Планы исполнения типовых запросов – к инфоблокам Соединения данных из инфоблоков – подзапросы, joins. Проблемы, решения. Инфоблоки 2.0, кастомные индексы Прямые запросы к БД NoSQL, HighLoad Инфоблоки, Redis, MongoDB Высокие нагрузки - кэш Нельзя все закэшировать Оптимизируем работу с кэшем Страницы должны открываться быстро Первый хит – 2 минуты? Управляемый кэш – когда нужен, нужно ли писать свой? Обновление каталога, импорт/экспорт и кэш Высокие нагрузки – конфигурация Настройте и анализируйте прекомпилятор Настройте PHP – «монитор производительности» Контроль версий, доступ к боевым серверам Подружитесь с логами Php-fpm Научитесь понимать состояние БД – innotop, show processlist, show engine innodb status Наймите Сисадмина или станьте им Отладчики, Xdebug, XHPprof Высокие нагрузки – Xdebug Высокие нагрузки – Xdebug Высокие нагрузки – Xdebug Высокие нагрузки – XHProf Спасибо за внимание! Вопросы? Александр Сербул [email protected] @AlexSerbul