Это слишком долго, чтобы добавить в качестве комментария, но я просто добавляю к тому, что @VoiceOfUnreason ответил, поэтому, пожалуйста, примите этот ответ, а не это:)
Просто чтобы быть педантичным по этому поводу: вы имеете в виду DRI (декларативную ссылочную целостность), поскольку даже отношение внешнего ключа может быть отключено.
В DRI нет ничего плохого по своей сути, так как он имеет вполне обоснованное назначение. Это, конечно, будет иметь смысл в том же ограниченном контексте, что и данные в одной базе данных. Для разных BC вы можете либо вообще отказаться от применения отношения и работать только с денормализованными данными, либо применить отношение путем сохранения объектов значений в хранилище данных вашего BC. Агрегаты из "чужой" БК будут ВО в вашем БК. В этом случае все, что упомянуто @VoiceOfUnreason вступает в игру. В некоторых случаях может иметь смысл обеспечить, чтобы определенные изменения состояния происходили в разумном порядке. Например, вы, возможно, захотите зарегистрировать клиента, прежде чем активировать телефонную линию.
В тех случаях, когда у вас есть менее строгие правила, вы можете использовать слабые отношения и, возможно, отслеживать свой процесс со статусом, указывающим, ожидают ли зависимые данные завершения какого-то другого бита, что является типичной асинхронной / параллельной обработкой. парадигма.