03.11.2025

DDD-модернизация ledger-сервиса в core banking

Перестроили границы домена и снизили сложность изменений в финансовом ядре.

  • ddd
  • core-banking
  • fintech

Контекст

Роль: CTO/архитектор, команда 12 инженеров, зрелый продукт в фазе модернизации ядра.

Ledger-сервис был перегружен несвязанной логикой: изменения затрагивали сразу несколько команд и часто ломали обратную совместимость.

Без четких доменных границ любая новая фича увеличивала стоимость поддержки непропорционально бизнес-эффекту.

Подход

  • Провели event storming с инженерами и бизнесом, уточнили ubiquitous language.
  • Разделили домен на bounded contexts с явными anti-corruption слоями.
  • Вынесли расчетные политики в независимые domain services и покрыли контрактными тестами.

Эффект

  • Lead time на изменения в ledger-связанных задачах снизился примерно на 35%.
  • Уменьшилось число регрессионных дефектов в интеграциях.
  • Команды получили предсказуемую схему эволюции доменных контрактов.