Определите владельца сущности, а другим сервисам предоставьте API или локальные проекции. Временную рассинхронизацию регулируют версионированием, событиями и явными правилами допустимой свежести.
Как решалась проблема, когда одна сущность требовалась нескольким сервисам? Как обеспечивалась консистентность при временном рассинхроне?
Определите владельца сущности, а другим сервисам предоставьте API или локальные проекции. Временную рассинхронизацию регулируют версионированием, событиями и явными правилами допустимой свежести.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Определите владельца сущности, а другим сервисам предоставьте API или локальные проекции. Временную рассинхронизацию регулируют версионированием, событиями и явными правилами допустимой свежести.
Не стоит разрешать всем сервисам независимо редактировать одни и те же факты. Для проекций нужны идемпотентная обработка, порядок или версия события и возможность восстановления. Критическое решение, требующее свежих данных, проверяется у владельца либо выполняется в соответствующей границе согласованности. Пользовательские сценарии должны учитывать pending и задержки, а не молча считать любую копию актуальной.