Привет! Меня зовут Дима, я архитектор в Купере. Сегодня расскажу о шаблоне проектирования Strangler, который мы использовали для поэтапного выноса бизнес-логики из монолитной системы в отдельный сервис. Сначала обратимся к первоисточнику, а затем перейдем к практическим моментам, с которыми столкнулись в процессе работы. Поехали! Читать далее
Микросервисы на схемах выглядят стройно, но в проде часто вырождаются в распределённый монолит: общая БД, синхронные цепочки вызовов и каскадные падения. В этой статье разберемся, как проводить границы сервисов так, чтобы система оставалась автономной — почему декомпозиция по слоям ломает независимость, как опираться на bounded context и бизнес-возможности, как аккуратно выводить legacy через Strangler, и где на практике помогают Database per Service, CQRS и Saga. Читать далее
TL;DRМигрировал продакшн базу с Supabase на VPS PostgreSQL прямо на работающем проекте — без остановки, без потери данных. Заодно перенёс авторизацию через strangler-подход и убрал Supabase из SSR read-path. Расскажу три инженерных решения с кодом. Читать далее
Привет, Хабр! Меня зовут Салахутдинов Дмитрий, я принципал инженер в СберМаркете. Занимаюсь развитием Ruby-платформы и масштабированием системы через декомпозицию монолита на сервисы.В статье хочу поделится опытом внедрения аутентификации на базе монолита. Это первая проблема, с котором мы столкнули в попытке реализации новой бизнес-логики автономно (за пределами монолитной системы). Будет полезно, если перед вами стоит задача сделать первые шаги от монолитной к микросервисной архтитектуре. Читать далее