Маркетплейс услуг
Tech / Marketplace
Миграция монолита на микросервисы
Декомпозировали монолитное приложение на 12 микросервисов с API Gateway
до
4 часа
15 мин
↓ 94%
Время деплоя
до
97%
99.9%
↑ 2.9 п.п.
Uptime
до
1 релиз/мес
10/день
↑ 300x
Частота деплоев
Вызов
Маркетплейс услуг вырос до 500k пользователей, но монолитное приложение стало узким местом. Деплой занимал 4 часа, а падение одного модуля клало всю систему.
Монолит на 200k строк — невозможно масштабировать
Деплой 4 часа с 30-минутным даунтаймом
Uptime 97% — один модуль роняет всё
Невозможно масштабировать отдельные части
Решение
Декомпозировали монолит на 12 микросервисов с API Gateway, event-driven архитектурой и полным observability стеком.
Микросервисы
- 12 независимых сервисов
- Domain-driven design
- gRPC между сервисами
- REST/GraphQL наружу
Инфраструктура
- Kubernetes оркестрация
- Kafka для событий
- Istio service mesh
- API Gateway (Kong)
Observability
- Distributed tracing (Jaeger)
- Prometheus + Grafana
- Centralized logging (ELK)
- Алерты и SLO
Процесс работы
Архитектура
3 недели- DDD decomposition
- Определение границ сервисов
- API контракты
Инфраструктура
3 недели- Kubernetes cluster
- CI/CD пайплайны
- Service mesh
Миграция
12 недель- Strangler fig pattern
- Сервис за сервисом
- Параллельная работа
Стабилизация
2 недели- Load testing
- Chaos engineering
- Финальная миграция
Результаты
Быстрый деплой
15 минут вместо 4 часов, 10+ деплоев в день
Uptime 99.9%
Падение одного сервиса не затрагивает остальные
Масштабирование
Горячие сервисы масштабируются независимо
Независимость
3 команды деплоят независимо без конфликтов
“Миграция на микросервисы от QZX была хирургически точной. Strangler fig pattern позволил мигрировать без единой минуты даунтайма. Теперь мы деплоим 10 раз в день.”
— VP of Engineering, маркетплейс услуг
Технологический стек
Node.jsGoGraphQLgRPCKafkaKubernetesIstioJaegerPrometheus
Заинтересовал кейс?
Обсудим как мы можем создать подобное решение для вашего бизнеса.