CoderOK
Магазин грузился 5 секунд - теперь мгновенно: перевели монолит на Laravel в 7 сервисов на Go и С#
CoderOK
#Разработка сайтов под ключ#Разработка программного обеспечения#Администрирование серверов

Магазин грузился 5 секунд - теперь мгновенно: перевели монолит на Laravel в 7 сервисов на Go и С#

37 
CoderOK Россия, Санкт-Петербург
Поделиться: 0 0 0
Магазин грузился 5 секунд - теперь мгновенно: перевели монолит на Laravel в 7 сервисов на Go и С#
Сфера

Мебель и интерьер

Тип сайта

Интернет-магазин

Сдано

Июнь 2026

Задача

Клиент: Artfabric - марка дизайнерской мебели и декора. Интернет-магазин с каталогом на 2 200 позиций, собственный склад в Санкт-Петербурге, салоны в Москве и Петербурге. Ситуация на входе: проект достался в наследство как legacy на Laravel. Страницы каталога открывались около пяти секунд, поиск по товарам работал медленно, потребление памяти на сервере было избыточным. Архитектура монолитная: любая правка затрагивала всю систему целиком, поэтому каждый релиз нёс риск уронить работающий магазин. Развивать продукт в таком виде было дорого и опасно. Задача: переписать платформу на современный стек, разделить её на независимые части, ускорить отдачу страниц и параллельно выкатить новый дизайн витрины по макетам дизайнера. Ключевое ограничение: магазин действующий, продажи идут ежедневно, салоны работают. Останавливать торговлю на время переезда было нельзя.

Решение

Проект вёл один разработчик — от архитектуры до эксплуатации в проде.

Декомпозиция монолита

Разнесли систему на семь независимо деплоящихся сервисов на Go:

  • публичный REST API

  • SSR-фронтенд витрины

  • админ-панель

  • личный кабинет клиента

  • AI-сервис для внутренних задач

  • генератор коммерческих предложений

  • сервис экспорта товарных фидов

Каждый сервис — отдельный репозиторий со своим пайплайном. Релиз одного не затрагивает остальные, нагруженные части масштабируются отдельно.

Переход на Go

Бэкенд переписали с Laravel и PHP на Go, использовали Fiber и Chi. Go выбрали ради скорости отдачи и предсказуемого потребления памяти под нагрузкой.

Серверный рендеринг вместо SPA

Отказались от одностраничного приложения в пользу SSR на Templ и HTMX. Решение принимали осознанно: для магазина с каталогом на 2 200 позиций органический трафик важнее клиентской интерактивности. Серверный рендеринг дал быструю первую отрисовку и полную индексируемость каталога поисковиками, а заодно убрал дублирование бизнес-логики между фронтендом и бэкендом.

Поиск и кеширование

Полнотекстовый поиск по каталогу вынесли в Meilisearch с автоматической деградацией на pg_trgm при недоступности индекса. Часто запрашиваемые данные закрыли кешем на Redis, что сняло пиковую нагрузку с PostgreSQL.

Редизайн

Параллельно с миграцией выкатили новый дизайн витрины по макетам дизайнера. Новая витрина сразу собиралась на новом стеке, без промежуточной вёрстки под старую систему.

Миграция без остановки продаж

Сервисы поднимались и обкатывались параллельно с работающим монолитом: пока новая версия проверялась на реальных данных, магазин продолжал торговать на старой. Финальное переключение основного сайта выполнили за одно ночное окно с сохранённой возможностью отката.

Инфраструктура

Развернули self-hosted GitLab, настроили CI/CD с автоматическим деплоем. Выкатка сократилась с ручной процедуры до одного пуша.

Результат

Скорость и производительность

  • Время загрузки страниц каталога сократилось с ~5 секунд до долей секунды.

  • Потребление памяти на сервере снизилось кратно — прежнее железо стало держать заметно большую нагрузку.

  • Поиск по каталогу из 2 200 позиций работает мгновенно, пиковая нагрузка на базу снизилась в разы.

Устойчивость и развитие

  • Релиз или отказ одного из семи сервисов больше не затрагивает остальные.

  • Нагруженные части системы масштабируются отдельно, без апгрейда всей платформы.

  • Выкатка сократилась с ручной процедуры до одного пуша — новые функции доходят до прода в тот же день.

Бизнес

  • Магазин не простоял ни дня: продажи и работа салонов в период миграции не прерывались.

  • Каталог на 2 200 позиций полностью отдаётся сервером и индексируется поисковиками.

  • Новая витрина по макетам дизайнера выкатилась одновременно с переездом на новый стек — без промежуточной вёрстки под старую систему.

Платформа продолжает развиваться на новой архитектуре: с момента переезда добавлены AI-сервис для контент-команды, генератор коммерческих предложений и автоматический экспорт товарных фидов.

Комментарий агентства

Андрей Любиченко
Андрей Любиченко

Fullstack-разработчик

Самым сложным в проекте была не сама миграция, а условие не останавливать магазин. Действующая торговля, склад, два салона — простой означал бы прямые потери. Поэтому переезжали поэтапно: новые сервисы месяцами работали рядом со старым монолитом на реальных данных, и только когда стало понятно, что всё сходится, переключили основной сайт за одну ночь с сохранённой возможностью отката. Это дольше и дороже, чем переписать всё разом, но единственный честный способ трогать систему, на которой держится бизнес клиента.

https://artfabric.ru

Стек технологий


Над проектом работали:


Оцените кейс
Спасибо за оценку
Выскажите мнение
Авторизуйтесь, чтобы добавить свой комментарий.
оставить заявку

Хотите заказать похожий проект?

CoderOK с удовольствием обсудит вашу задачу

Оставить заявку