Подпишитесь на рассылку полезных материалов
Делимся опытом рефакторинга скидочного сервиса в рамках работы над одним из проектов
Приветствую! Меня зовут Дмитрий и я работаю в Lad. Сегодня я поведаю историю о том, как эволюционировал скидочный сервис одного из наших проектов. Пройдя путь от всеми нелюбимого «тормозящего» сервиса, до сервиса, который имеет наилучшие показатели на недельных графиках SLA.
Рассказ делится на четыре части, первая из которых — это краткая вводная о том, что из себя представляет скидочный сервис и как он справлялся (нет) с нагрузкой до рефакторинга. Во второй, более технической части, я делюсь опытом рефакторинга, в частности, говорю про те трудности, с которыми пришлось столкнуться, и какие шаги были предприняты для того, чтобы исправить печальную ситуацию с производительностью. В третьей части поговорим о достигнутых результатах. В завершающей, четвертой, части приводятся некоторые мысли о возможных улучшениях.
Часть первая — историческая справка
Немного о проекте
Заказчик — крупная сеть розничных магазинов обуви, одежды и аксессуаров, насчитывающая порядка 1500 магазинов, большая часть из которых находится в России.
Несмотря на то, что основной упор делается на розничную торговлю (POS), так же имеется свой интернет магазин и отдельные приложения под Android/iOS.
Акция как сущность
Что из себя представляет акция? Она состоит из пяти основных частей:
- Поля информационного характера.
- Общие настройки, такие как регион проведения, срок действия и прочее.
- Необязательный список акций, с которыми данная акция может быть применена совместно (согласно указанным приоритетам).
- Триггер, который выступает в роли предварительного фильтра и позволяет понять, применима ли акция к конкретному состоянию корзины.
- Алгоритм, описывающий механику отдельных видов акций (например, скидка на группу позиций), а также содержащий саму скидку.
Источник: Хабр
Подпишитесь на рассылку полезных материалов
Контакты для СМИ