Технический разборАрхитектура
10 мая 2024 г.8 мин

Переход с легаси-монолита на микросервисы без даунтайма

Практический кейс: как мы распилили легаси-монолит логистической компании без даунтайма.
Иван Кавальков
Основатель Smart Creative Group
Короткий ответ по статье

Суть без длинного чтения

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

Коротко

О чем статья

Практический кейс: как мы распилили легаси-монолит логистической компании без даунтайма.

Когда актуально

В какой момент это становится проблемой

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

Следующий шаг

Что делать после прочтения

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

#01Проблема легаси-монолита

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

Важное предупреждение:Перед внедрением стоит отдельно проверить риски, зависимости и стоимость изменений, чтобы не получить срыв сроков на следующем этапе.

#02Паттерн Strangler Fig

Мы использовали паттерн "Душитель" (Strangler Fig). Суть проста: мы ставим API Gateway (Nginx/Kong) перед старым монолитом. Затем берем один модуль (например, "Биллинг"), пишем его с нуля как независимый микросервис и переключаем трафик на Gateway.

Практический совет SmartCG:Лучший способ применить материал на практике — разобрать ваш текущий контур, ограничения и следующий прикладной шаг, а не копировать подход без контекста.

#03Этапы миграции:

  • Настройка API Gateway.
  • Выделение домена "Управление пользователями" в отдельный сервис (NestJS).
  • Синхронизация баз данных (CDC - Change Data Capture через Debezium).
  • Постепенное отключение старого кода.
Практический совет SmartCG:Лучший способ применить материал на практике — разобрать ваш текущий контур, ограничения и следующий прикладной шаг, а не копировать подход без контекста.

#04Синхронизация баз данных

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

Редакционная проверка и источники

Материал подготовлен как практический разбор и привязан к рабочим сценариям бизнеса, а не к абстрактной теории.

Ревью материала
Техническая редакция SmartCG
Архитектурное и редакционное ревью
Последнее обновление
10 мая 2024 г.
Как готовили материал
Материал подготовлен на основе проектной практики SmartCG, редакционного ревью и сопоставления с официальной документацией по теме.
Источники и подтверждающие материалы
Продолжение темы

Что ещё посмотреть по этой задаче

Ниже материалы, которые помогают перейти от общего понимания проблемы к более предметному следующему шагу.

Как перевести статью в следующий шаг

Куда идти после прочтения

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

Релевантная услуга

Технический аудит и план стабилизации web-проекта

от 1 200 BYN
support

Аудит текущего web-проекта с картой рисков, приоритетами и планом первой очереди.

Быстрый разбор ситуации

Становится понятно, что именно нужно проверить в первую очередь: продукт, интеграции, инфраструктуру или работу подрядчиков.

Карта рисков и приоритетов

Вы получаете список проблем по критичности: что уже бьёт по выручке и стабильности, а что можно оставить на второй этап.

Практическое продолжение статьи

Нужно модернизировать legacy-контур без опасного большого переписывания?

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

Рекомендуемая услуга SmartCG

Технический аудит и план стабилизации web-проекта

от 1 200 BYN
support

Аудит текущего web-проекта с картой рисков, приоритетами и планом первой очереди.