Pull to refresh
4K+
2
Павел Голдин@wicsion

User

6
Rating
Send message

Монолит с отчётами на 30 секунд: как я переписал архитектуру и что из этого вышло

Level of difficultyMedium
Reading time4 min
Reach and readers7.8K

Пришёл в проект, там легаси погоняет легаси. Спагетти такие что уже в рот лезут. Отчёты по филиалам открывались 30 секунд. Команда реально боялась нажать кнопку в рабочее время, а вдруг база ляжет.

Это была система управления розничной сетью: несколько филиалов, сотни тысяч записей о заказах, ежедневные отчёты по выручке и остаткам. На бумаге ничего страшного. На практике монолит на Django где бизнес-логика размазана по контроллерам так, что поменяй что-то одно и сломается три другого.

Первое, что я сделал: открыл EXPLAIN ANALYZE.

Как отчёты ускорились в 20 раз

Information

Rating
1,064-th
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity

Specialization

Бэкенд разработчик
Старший
Git
Python
Docker
Redis
FastAPI
CI/CD
Nginx
PostgreSQL
Django
Celery