Проектирование архитектуры проекта на 1С-Битрикс

Проектирование архитектуры проекта на 1С-Битрикс Мы часто видим проекты, где архитектурные решения принимались на ходу. Через год сайт начинает тормозить на каталоге из 50 000 товаров, добавление нового свойства требует правки в четырёх местах, а обмен с 1С — скрипт на 2000 строк без документации
Услуги, которые мы предлагаем
Показано 1 из 1Все 1626 услуг
Проектирование архитектуры проекта на 1С-Битрикс
Средний
~2-3 дня

Наши компетенции:

Часто задаваемые вопросы

Последние работы

  • image_website-b2b-advance_0.webp
    Разработка сайта компании B2B ADVANCE
    1389
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Разработка веб-сайта для компании ФИКСПЕР
    979
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Разработка на базе Битрикс, Битрикс24, 1С для компании Development of an Online Appointment Booking Widget for a Medical Center
    712
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    852
  • image_crm_dolbimby_434_0.webp
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    751
  • image_crm_technotorgcomplex_453_0.webp
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    1108

Проектирование архитектуры проекта на 1С-Битрикс

Мы часто видим проекты, где архитектурные решения принимались на ходу. Через год сайт начинает тормозить на каталоге из 50 000 товаров, добавление нового свойства требует правки в четырёх местах, а обмен с 1С — скрипт на 2000 строк без документации. Чаще всего проблемы проявляются не сразу. На этапе запуска всё работает, но через полгода активной работы каталога с 50 000 товаров и 20 000 посетителями в день начинаются падения. Причина — неоптимальная структура инфоблоков, отсутствие кеширования и бизнес-логика, размазанная по шаблонам. Результат: каждый запрос генерирует 30+ SQL-запросов, страница грузится 5–7 секунд. Посетители уходят, конверсия падает, поддержка захлебывается в баг-репортах. Каждое новое свойство — боль, каждый обмен с 1С — стресс. Нагрузка 20 000 посетителей в день — не предел: при пиковых значениях в праздники сайт может лечь полностью. Мы проектируем архитектуру так, чтобы этого не произошло. Свяжитесь — бесплатно оценим ваш проект.

Слои архитектуры Битрикс-проекта

Битрикс имеет несколько уровней, и решения на каждом влияют на другие. Рассмотрим ключевые.

Уровень данных: инфоблоки, HL-блоки, пользовательские таблицы

Инфоблоки (b_iblock_element, b_iblock_element_property) — гибкий EAV, но на больших объёмах (>100 000 элементов) производительность падает. Ключевые решения:

  • Распределение данных: инфоблоки для основного контента, HL-блоки для справочников, собственные таблицы через D7 ORM (\Bitrix\Main\ORM\Data\DataManager)
  • Структура типов инфоблоков и их группировка
  • Схема торговых предложений: один инфоблок офферов на всё или раздельные на категории
Хранилище Когда использовать Когда избегать
Инфоблоки (EAV) Каталоги товаров, контент с множеством свойств Данные с высокой нагрузкой на запись, большие объёмы (>100 000 элементов)
HL-блоки (Highload) Справочники, списки значений, вспомогательные данные Иерархические данные, где нужна вложенность
Собственные таблицы ORM Логика заказов, корзина, аудит Простые справочники

В официальной документации 1С-Битрикс подчеркивается: «Инфоблоки предназначены для хранения контентных данных, а HL-блоки — для справочников и вспомогательных сущностей». Хранилище на HL-блоках работает в 3 раза быстрее при выборке 10 000 записей, чем EAV-инфоблок с десятком свойств.

Уровень логики: компоненты vs. собственный код

Стандартные компоненты (bitrix:catalog.section, bitrix:sale.order.ajax) покрывают типовые сценарии. За их пределами выбирают: расширять шаблон, создавать кастомный компонент (CBitrixComponent) или писать контроллер D7 (\Bitrix\Main\Engine\Controller). Критерий: бизнес-логика, специфичная для проекта, не должна быть в шаблоне — шаблон только для представления.

Выбор между инфоблоками и HL-блоками

Выбор определяется типом данных и нагрузкой. Инфоблоки — для каталогов с гибкими свойствами, но при >100 000 элементов и частых запросах на выборку по свойствам лучше использовать HL-блоки или собственные таблицы. Например, для справочника регионов с 200 записями подойдёт HL-блок, а для каталога товаров с 50 000 позиций — инфоблок с фасетным индексом. Мы всегда проводим нагрузочное тестирование.

Уровень кеширования

Архитектурное решение — какие данные кешировать и как инвалидировать. Варианты:

  • BXCache/CPHPCache — файловый кеш для компонентов
  • TaggedCache (\Bitrix\Main\Data\TaggedCache) — инвалидация по тегам
  • Cache D7 (\Bitrix\Main\Data\Cache) — унифицированный кеш с поддержкой memcached/Redis
  • Композитный кеш — статический HTML для анонимных пользователей

Правильно настроенное кеширование ускоряет загрузку страниц в 5–10 раз и снижает нагрузку на сервер. Сравним методы:

Метод кеширования Скорость (усл. ед.) Сложность настройки Инвалидация
Файловый (BXCache) 50 Низкая Поручная
Тегированный (TaggedCache) 80 Средняя Автоматическая по тегам
Redis/Memcached 95 Высокая Автоматическая по ключам
Композитный 100 (для анонимов) Средняя Полная сброс при изменениях
Пример архитектурного решения для кеширования Для каталога с 50 000 товаров мы используем тегированное кеширование с инвалидацией по изменениям в инфоблоке. Композитный кеш включается для анонимных пользователей. Результат: время загрузки страниц <1 секунды.

Кеширование как основа быстрого Битрикс-проекта

Без кеширования каждый запрос к странице каталога генерирует десятки SQL-запросов. На каталоге в 50 000 товаров время ответа может превышать 5 секунд. Тегированное кеширование позволяет инвалидировать только изменившиеся блоки, а композитный кеш отдаёт статику анонимным пользователям. В наших проектах время загрузки страниц не превышает 1 секунды. Если вы узнали свой проект в этом описании, получите консультацию — мы подскажем, как исправить архитектуру.

Уровень фронтенда

Битрикс поддерживает несколько подходов: классический PHP-шаблон с jQuery, компоненты с BX.ajax, и современный стек — Vue/React через REST API. Выбор влияет на поддерживаемость: фронтенд-разработчик на поддержке должен ориентироваться в принятом решении.

Многосайтовость и мультирегиональность

Если проект охватывает несколько регионов или языков, архитектурное решение принимается на старте. Битрикс поддерживает несколько сайтов в одном ядре с общей БД, языковые версии через модуль main, региональные сайты с разными доменами. Неправильный выбор (например, разные каталоги для каждого региона вместо одного с региональными ценами) приводит к дублированию и проблемам синхронизации.

Кейс: переработка архитектуры e-commerce проекта

Из нашей практики: дистрибьютор промышленного оборудования, проект без явного архитектурного решения: 4 инфоблока каталога для разных категорий, каждый со своим набором строковых свойств, бизнес-логика в init.php, шаблоны компонентов с логикой внутри. К моменту рефакторинга: 45 000 элементов суммарно, добавление нового свойства — правки в 4 местах, фильтр не работал по свойствам из разных инфоблоков, обмен с 1С — кастомный скрипт на 2 000 строк без документации. Стоимость проектирования для такого проекта — от 150 000 до 500 000 ₽, что в итоге окупается за счёт снижения затрат на поддержку.

Реализованное решение:

  1. Объединили 4 инфоблока в один с единой схемой свойств через HL-блоки
  2. Перенесли бизнес-логику из шаблонов в D7-компоненты и сервисные классы в local/lib/
  3. Логику в init.php разбили на обработчики событий с регистрацией через AddEventHandler
  4. Настроили фасетный индекс на едином инфоблоке — фильтр заработал корректно
  5. Стандартный обмен с 1С через CommerceML заменил кастомный скрипт

Результат: время загрузки страниц сократилось в 4 раза, экономия на поддержке — порядка 40% (примерно 200 000 ₽ в год). Весь проект масштабируется без переписывания кода. Если вы столкнулись с похожими проблемами, получите консультацию — мы поможем перепроектировать архитектуру.

Включено в работу на этапе проектирования

  • Анализ бизнес-требований и прогнозируемых нагрузок
  • Диаграмма структуры данных: инфоблоки, HL-блоки, связи
  • Схема компонентного состава страниц
  • Схема кеширования и инвалидации
  • Архитектура интеграций: 1С, CRM, платежные шлюзы
  • План миграции (если проект не с нуля)
  • Документация и передача команде разработки

Сроки ориентировочно

Проектирование занимает от 1 недели для типового проекта до 4–6 недель для enterprise-систем с несколькими интеграциями и мультисайтовой структурой. Стоимость рассчитывается индивидуально. У нас 10+ лет опыта с Битрикс, сертификация 1С-Битрикс Эксперт, гарантия на архитектурные решения. Закажите проектирование архитектуры — и ваш проект будет готов к росту.